У меня есть веб-сервис Java, у которого есть веб-метод с HashMap в качестве параметра. Теперь я использую python для вызова этого сервиса. Я использую библиотеку Zeep для клиента веб-службы. Я могу вызвать эту функцию, но сервер не получает мои данные HashMap. Сервер говорит, что он пустой (не нулевой, но пустой)
Я пытался построить HashMap в клиенте разными способами, чтобы сервер мог распознавать данные. Но это не работает.
client = Client('http://113.161.71.189/TestService/Service?wsdl', transport=transport)
signCloudMetaData = client.get_type('ns0:signCloudMetaData')()
entry = []
pageNo = ('PAGENO', 'Last')
positionIdentifider = ('POSITIONIDENTIFIER', 'test')
rectangleOffset = ('RECTANGLEOFFSET', '-30,-100')
entry.append(pageNo)
entry.append(positionIdentifider)
entry.append(rectangleOffset)
signCloudMetaData.singletonSigning = entry
client.service.request(signCloudMetaData)
Существует описание вида мыла для объекта:
<xs:complexType name="signCloudMetaData">
<xs:sequence>
<xs:element name="singletonSigning">
<xs:complexType>
<xs:sequence>
<xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="key" minOccurs="0" type="xs:string"/>
<xs:element name="value" minOccurs="0" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>