Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Describing hashes in WSDL?

by webengr (Pilgrim)
on Apr 25, 2005 at 21:16 UTC ( [id://451351]=note: print w/replies, xml ) Need Help??


in reply to Describing hashes in WSDL?

It is my (limited) understanding that we do not represent the implementation of the data structure (e.g., hash), but rather the data itself. Web services should not make any assumptions about implementation at either end of the wire.

See page 99 of "Web Services with Perl" (Ray & Kulchenko, O'Reilly, 2003) for an example. The recommendation there is to define a compound type, with a parent element representing the hash, child elements named after the keys, and their text nodes containing the values.

PCS

Replies are listed 'Best First'.
Re^2: Describing hashes in WSDL?
by rob_au (Abbot) on Apr 26, 2005 at 00:02 UTC
    This is pretty much spot-on - In the WSDL, you can define complex argument types which may be composed by any number of sub-elements. For example, from a Perl web service that I wrote which employed WSDL:
    <xsd:complexType name="queryElement"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="address" type="xsd: +string"/> <xsd:element maxOccurs="1" minOccurs="1" name="category" type="xsd +:integer"/> <xsd:element maxOccurs="1" minOccurs="1" name="id" type="xsd:strin +g"/> <xsd:element maxOccurs="1" minOccurs="1" name="request" type="xsd: +string"/> <xsd:element maxOccurs="1" minOccurs="1" name="time" type="xsd:int +eger"/> </xsd:sequence> </xsd:complexType>

     

    perl -le "print unpack'N', pack'B32', '00000000000000000000001000000000'"

      Ok.. this is looking better... I was looking at Programming Web Services with SOAP, however, and it said something about a structure type and being able to describe basically the top level and not have to define all the elements inside. Basically allowing you to adjust the hash as needed (this may not be the best for mass consumption, but would work well in my current project). Basically this supposedly would work because SOAP embeds the types in the data. Know how to do that? Until then, I will play with this and see if I can make it work. Thanks!

                      - Ant
                      - Some of my best work - (1 2 3)

Re^2: Describing hashes in WSDL?
by suaveant (Parson) on Apr 25, 2005 at 21:37 UTC
    SOAP::Lite already turns the hash into useful SOAP (or so it seems), my problem is finding out how to represent it in WSDL so the Flash can understand it... the book doesn't seem to go into that right there. I picked it up from my work's library though and will look at it in more detail, thanks!

                    - Ant
                    - Some of my best work - (1 2 3)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://451351]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2024-04-24 18:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found