On Fri, Apr 04, 2003 at 11:11:07AM -0500, LeVan,Ralph wrote:
> Should I take the surprising silence on the list to mean that none of you
> actually have this working in wsdl, or are you all just on vacation?
No, to both questions!
I never used SRW using the WSDL as the starting point except for Perl
SOAP:Lite and I never got that toolkit to do proper XML embedding
(and even SOAP:Lite doesn't understand much/if any of XML schemas).
gSOAP has a WSDL importer but it just doesn't work for the SRW WSDL
(it might work now - there has been a few releases of gSOAP since
newyear).
For gSOAP I used gSOAP's own .h-spec file which so far has
been compatible with your's, Rob's, and others. To deal with
XML in gASOAP I use in its .h-spec file:
typedef char *XML;
and use
struct zs__recordType {
xsd__string recordSchema;
xsd__string recordData;
XML recordXML;
xsd__integer recordPosition 0;
};
Now, the gSOAP actually do produce a WSDL which among other things
has following contents:
<complexType name="recordType">
<all>
<element name="recordSchema" type="xsd:string" minOccurs="1" maxOccurs="1" n
illable="true"/>
<element name="recordData" type="xsd:string" minOccurs="1" maxOccurs="1" nil
lable="true"/>
<element name="recordXML" type="XML" minOccurs="1" maxOccurs="1" nillable="t
rue"/>
<element name="recordPosition" type="xsd:integer" minOccurs="0" maxOccurs="1
"/>
</all>
</complexType>
So it's "type" is plain "XML", which I realize doesn't do anybody
any good. There must be a better way to deal with this.
For better or worse for YAZ 2.0, I hand coded decoders/encoders for
SRW/SRU and is not using gSOAP at all. Just libxml2 and libxslt and their
DOM-like API. This is "hard work", but has the advantage that whatever
you guys come up with, I can deal with it:)
The next version of YAZ 2.0 includes SRU support. That wasn't possible with
gSOAP too, obviously.
-- Adam
> Yes, I can hack all sorts of code to get this to work, but if we can't point
> a new implementor to some wsdl and just have it work, then the solution is
> no good.
>
> I can find no reference to an XMLFragment datatype. I can see that an
> xs:any element (not datatype) inside a recordXML element should get me a
> legal schema, but my wsdl tools seem to be ignoring that.
>
> Still looking for help.
>
> Ralph
>
> > -----Original Message-----
> > From: Robert Sanderson [mailto:[log in to unmask]]
> > Sent: Wednesday, April 02, 2003 7:00 PM
> > To: [log in to unmask]
> > Subject: Re: XML Fragment in RecordData
> >
> >
> > > I could use it now. Do we have working examples anywhere?
> > What does the
> > > WSDL turn into?
> >
> > Yep. My system does one of the two proposed methods to return
> > XML -- it
> > sticks it in recordXML rather than recordData when the
> > recordPacking query
> > param is set to XML
> >
> > Otherwise it returns string.
> >
> > http://srw.o-r-g.org:8080/l5r/?recordPacking=xml&query=ninja
> >
> > R
> >
> >
> > --
> > ,'/:. Rob Sanderson ([log in to unmask])
> > ,'-/::::. http://www.o-r-g.org/~azaroth/
> > ,'--/::(@)::. Special Collections and Archives, extension 3142
> > ,'---/::::::::::. Twin Cathedrals: telnet:
> > liverpool.o-r-g.org 7777
> > ____/:::::::::::::. WWW:
> http://liverpool.o-r-g.org:8000/
> I L L U M I N A T I
--
Adam Dickmeiss mailto:[log in to unmask] http://www.indexdata.dk
Index Data T: +45 33410100 Mob.: 212 212 66
|