Получение unmarshalling Error: For input string: ""
. Это, вероятно, означает, что wsdl не может десериализовать данные. Но мой XML хорошо отформатирован. Почему служба wsdl захлебывается этим xml?
Я использую Suds + Python.
Вот wsdl мыльного сервиса:
<xs:element name="parameters">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entry">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="key" type="xs:string"/>
<xs:element minOccurs="0" name="value" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Код Python:
client = Client(url)
query = client.factory.create('query')
listval1 = {"key":"*:*","value":"*:*"}
query.parameters.entry = [listval1]
response = client.service.search(query)
XML-сообщение, созданное с помощью suds:
<query>
<parameters>
<entry>
<key>*:*</key>
<value>*:*</value>
</entry>
</parameters>
</query>
Я продолжаю получать unmarshalling Error
. Это потому, что xsi:type="ns0:string"
не добавляется suds к key
и value
? Если да, то как его добавить?