Overwrite the Soap Envelope in Suds python

envelope, python, soap, suds, xml

Solution

I managed to get this working, the soap envelope is hard coded into `bindings.py` that is stored in `suds.egg` installed in your site-packages. I changed the SOAP envelope address to `http://www.w3.org/2003/05/soap-envelope`. This was compatible with my camera. I was unable to find a command to overwrite this envelope in suds so I hard coded it in to the bindings.py.

Thanks for any help

Problem

I have a camera and I am trying to connect to it vis suds. I have tried to send raw xml and have found that the only thing stopping the xml suds from working is an incorrect Soap envelope namespace. The envelope namespace is: `xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"` and I want to rewrite it to: `xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"` In order to add a namespace in python I try this code: `message = Element('Element_name').addPrefix(p='SOAP-ENC', u='www.w3.org/ENC')` But when I add the `SOAP-ENV` to the namespace it doesn't write as it is hardcoded into the suds bindings. Is there a way to overwrite this in suds? Thanks for any help.

Original source