Suds кажется, есть проблемы разбора следующие XSD:Howto набор "текст" значение для пены веб-сервиса объекта
<element name="quantity" minOccurs="1" maxOccurs="1">
<annotation>
<documentation>Quantity of this item that's being ordered.</documentation>
</annotation>
<complexType>
<simpleContent>
<extension base="int">
<attribute name="unitOfMeasure" use="required">
<annotation>
<documentation>
Unit of measurement.
The attribute can have the
following values: PCS - pieces
SEC- seconds BYT - bytes KB -
kilobytes
</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="PCS" />
<enumeration value="SEC" />
<enumeration value="BYT" />
<enumeration value="KB" />
</restriction>
</simpleType>
</attribute>
</extension>
</simpleContent>
</complexType>
</element>
XML, должен выглядеть следующим образом:
<ns0:quantity unitOfMeasure="PCS">1</ns:quantity>
К сожалению, я могу только установите атрибут:
>>> c.factory.create('ns0:item.quantity')
(quantity){
_unitOfMeasure = ""
}
не имеет возможности установить «текстовое» значение узла XML.
Я пытался создавать XML буквально:
element = Element('ns0:quantity')
element.setText("1")
element.set('unitOfMeasure', "PCS")
и мимоходом, что в качестве параметра.
Это хорошо выглядит в журнале отладки (как <ns0:quantity unitOfMeasure="PCS">1</ns0:quantity>
), но фактический запрос показывает, что это значение будет сериализовать:
<ns0:quantity />
Я заблудиться здесь. Как я могу правильно представить это значение?
Я использую мыльную пену 0,4
Не используйте пены, попробуйте suds-jurko: https://pypi.python.org/pypi/suds-jurko/0.6, который является поддерживаемой вилкой пены. Если проблема все еще встречается там, мы можем проверить, может ли что-то быть подклассифицировано/сделано для ее исправления. –