When I look at the schema, i find:

      <xs:complexType name="GetItemType">
         <xs:complexContent>
            <xs:extension base="tns:GetItemCommon">
               <xs:sequence/>
<xs:attribute use="required" type="xs:integer" name="ItemId" form="qualified"/>
            </xs:extension>
         </xs:complexContent>
      </xs:complexType>

So, the attribute ItemId needs to be qualified with the namespace.

It seems that suds does *not* obey the form="qualified" instruction :-(

I guess I will have to file a bug on this.

Thanks for pointing this out and the link. Very instructive.

Thomas



Quoting Dieter Maurer <[email protected]>:

Thomas Hottendorff wrote at 2014-6-12 13:31 +0000:
...
However I'm stuck now with my first example because the attributes
transactionId and ItemId that belong to the complex argument I pass on with
the method lack the required namespace prefixes (ns1:...) in my example. So,
my question is, is there a means to add these?

It is rare that attributes require qualification.
Whether they do is controlled by a schema attribute
("attributeFormDefault='qualified'"); the default is "unqualified"
(no prefixes).

Thus, check whether your schema correctly calls for
qualified attributes. If it does, you may have hit a "suds" bug
(maybe undetected for a long time as qualified attributes are rare).


You can read more about "attributeFormDefault" at
"http://www.intertech.com/Blog/xml-schema-elementformdefault-and-attributeformdefault/";.



--
Dieter



_______________________________________________
Soap mailing list
[email protected]
https://mail.python.org/mailman/listinfo/soap

Reply via email to