Is there a SOAP module that can do this...?

Waldemar Osuch waldemar.osuch at gmail.com
Thu Sep 11 15:46:02 EDT 2008


On Sep 11, 3:50 am, thebjorn <BjornSteinarFjeldPetter... at gmail.com>
wrote:
> On Sep 10, 9:44 pm, Waldemar Osuch <waldemar.os... at gmail.com> wrote:
>
>
>
> > On Sep 10, 1:23 pm, thebjorn <BjornSteinarFjeldPetter... at gmail.com>
> > wrote:> I've been trying to use SOAPpy and ZSI (with and without the use of
> > > wsdl2py) to communicate with a SOAP server (looks like it's a WebLogic
> > > server(?) in front of some enterprise java bean) and not having much
> > > luck.  I got them to send me an example of what the bytes on the wire
> > > are supposed to look like (attached below), and I got it to "work" by
> > > going lo-tech:
>
> > If you are willing to go low tech you can tryhttp://effbot.org/downloads/#elementsoap
>
> > But before you do that try:https://fedorahosted.org/suds
> > It is actively maintained and holds a lot of promise.
> > In my testing it knew how to connect to Sharepoint as well
> > as WebLogic exposed services.
>
> > Waldemar
>
> Thanks for the info Waldemar. I'm looking into suds now, but there's
> something I'm having trouble wrapping my head around (xml isn't my
> usual territory, so this is perhaps obvious to someone...) This is
> what suds tells me:
>
> >>> print client
>
> suds ( version=0.2.9 )
>
> service ( InboundLegacyDataService )
>         prefixes:
>                 ns0 = "http://no/brreg/BReMS/WebService/services"
>         methods (2):
>                 getInfo()
>                 submitMessage(xs:string cpaid, xs:string securityKey,
> xs:string message, )
>         types (4):
>                 submitMessage
>                 submitMessageResponse
>                 getInfo
>                 getInfoResponse
>
> The method I'm interested in is submitMessage and in particular the
> ``xs:string message`` parameter.  I've been provided with three xsd
> files that I'm almost 100% sure defines the format of the xml in the
> message (it defines the JegerproveInn sub-structure), but it looks
> like that has to be wrapped in a SOAP:Envelope, including the <?xml..>
> declaration before being stuffed into the xs:string message parameter,
> before that in turn is wrapped in an env:Envelope... Am I on the right
> track?
>

After you figure out how the message should look like, pass it with
the
rest of the parameters to the submitMessage.
"suds" should take care of the rest. Like wrap everything
into Envelope, send the request and parse response.

If you have to build XML from python let me point you to very useful
http://svn.effbot.python-hosting.com/stuff/sandbox/elementlib/builder.py
or
http://codespeak.net/lxml/api/lxml.builder.ElementMaker-class.html

> Another question:  I'm assuming the xsd files can be used for more
> than documentation :-)  I've found the w3schools "Introduction to XML
> Schema" which I'm starting to read right now, however I haven't been
> able to google up any Python<->xsd "thingy" that looked promising
> (since I'm not sure what I'm looking for, this might not be a big
> surprise ;-)  Is there such a "thingy"?

python<->xsd thingy you mention could be "lxml" library that is an
implementation of ElementTree + "number of very useful extensions".
Most of the time XSD is used to validate XML documents.
http://codespeak.net/lxml/validation.html




More information about the Python-list mailing list