SOAP web services using python. Would like to change the Envelope Document using MessagePlugin before sending it using suds

sarat.devineni at gmail.com sarat.devineni at gmail.com
Mon Feb 18 02:32:31 EST 2013


Hi ,

My current SOAP request sent via suds.client looks like this:

<SOAP-ENV:Envelope (some name space URIs)>
  <SOAP-ENV:Header />
    <SOAP-ENV:Body>
      <ns5:saveModule>
        <request xsi:type="ns3:SaveModule">
          <Module xsi:type="ns4:Module">
            <ModuleName xsi:type="ns1:string">Test</ModuleName>
          </Module>
        </request>
      </ns5:saveModule>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

This request fails on my server. If i take the same XML request and massage it and send it visa SOAPUI, it works fine. What I did was

<soapenv:Envelope (some name space URIs)>
  <soapenv:Header />
    <soapenv:Body>
      <saveModule>
        <request>
          <Module>
            <ModuleName>Test</ModuleName>
          </Module>
        </request>
      </saveModule>
    </soapenv:Body>
</soapenv:Envelope>

As you see, I had to change SOAP-ENV to soapenv, modify node ns5:saveModule to saveModule and also remove attributes such xsi:type to other child nodes

How can I , modify the request in above manner using suds.client. Documentation suggests to use a plugin with Client using marshalled method. But I was unsuccessful

Any help is greatly appreciated

Regards,
SD



More information about the Python-list mailing list