[MOBY-dev] [moby] Example of a response message with SOAP envelope

Mark Wilkinson markw at illuminae.com
Mon Sep 18 23:20:58 UTC 2006


Hi Javier!


> end of the month, and then probably, and hopefully!, you will start  
> seeing  lot of new services appearing on the registry.

Fantastic!  Looking forward to it!


> But I have to ask... why are you sending the MOBY xml as an escaped  
> string?

Because it is illegal to have an <?xml...> tag in the middle of an XML
document.  (API notes: http://biomoby.open-bio.org/CVS_CONTENT/moby-
live/Docs/MOBY-S_API/InputMessage.html  and the bottom of
http://biomoby.open-bio.org/CVS_CONTENT/moby-live/Docs/MOBY-
S_API/MessageStructure.html)

we either escape it, or we base64 encode it.  Either way, what you get
from the SOAP payload is a fully-qualified XML document including the
XML header such that you can simply pass it to an XML parser verbatim.
When I wrote that part of the API I was thinking about future
extensibility into non-SOAP messages, where there would be the need for
an XML header... it never happened, of course...


> In any case, why are you using SOAP?


LOL!  I often wish we weren't!  ;-)

It's all historical - Web Services are historically described as a triad
of the SOAP/WSDL/UDDI technologies.  It seems that UDDI has been more or
less lost from this triad, but SOAP/WSDL are still part of the most
widely-used definition.  

Several years ago, for my own amusement, I constructed a pure-CGI
version of MOBY, and it worked just fine... so there's no good argument
for using SOAP (especially since we can't model MOBY messages in XML
schema, so the WSDL standard isn't particularly useful to us either!)


>  Just for the error handling? The  
> services like this does not look very interoperable with anything but  
> BioMOBY clients.

Well... In my opinion, Web Services aren't particularly interoperable,
period.  It is only by our syntactic agreement that MOBY services become
interoperable, which is what puts us one step ahead of other
interoperability projects.  Take any two arbitrary Web Services out
there and try to automatically feed the output of one into the input of
another :-)  Kaboom!  

As such, I don't see that MOBY is any less interoperable with non-MOBY
web services than they are with each other, with the exception that we
pass XML rather than raw data.  

M





More information about the MOBY-dev mailing list