Когда я представляю сервис с Python Zeep, элемент теряет свой атрибут xsi: type - PullRequest
0 голосов
/ 04 апреля 2019

Я создаю вызов службы SOAP с помощью Zeep, но у меня проблема с сгенерированным XML.

InputElement = client.get_type('{http://model.xxx.com}OpsInputType')
inputElement(data='value)

client.service.operationToRun(inputElement)

Когда я выполняю службу с inputElement, генерируемый XML не имеет тип xsi:, который требуется для сервера.

Мне нужно это:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
        <InputElement xsi:type="q1:OpsInputType" xmlns:q1="http://model.xxx.com">
          <data>value</data>
        </InputElement>
    </soap:Body>
</soap:Envelope>

Но сгенерированный XML:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
        <InputElement>
          <data>value</data>
        </InputElement>
    </soap:Body>
</soap:Envelope>
...