Hi,
this is my first post to this list. I discovered SUDS recently and start to like more and more... thanks for your work!
I wondered why SUDS uses two different prefixes "ns1" and "SOAP-ENV" for the namespace "http://schemas.xmlsoap.org/soap/envelope/"::
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope ... xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" ... xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/%22%3E SOAP-ENV:Header/ ns1:Body ... </ns1:Body> </SOAP-ENV:Envelope>
Okay it is valid XML, but it's not very elegant. And there is at least one problem report that seems to be caused by some parser that doesn't like it: http://stackoverflow.com/questions/4605687/invalid-suds-envelope
I fixed this strange behaviour very easily (at least AFAICS), by changing one word in suds/bindings/binding.py, method get_message()
if self.options().prefixes: env.normalizePrefixes() #~ body.normalizePrefixes() env.promotePrefixes() else: env.refitPrefixes()
So I suggest to fix this in the trunk (unless I missed something, which is not impossible since I am rather new to XML and SOAP. In that case I'd be glad if one of you finds a few words to explain it to me).
Luc