Suds Сообщение отсутствует Элемент. Soapui создает правильное сообщение из WSDL

Я видел связанные с этим вопросы в сообщениях, которые 6 или 7 лет, но не нашли хорошего ответа. Элемент DELV_NUM находится в WSDL, но я считаю, что он помечен как необязательный, и поэтому suds игнорирует его. Я не сделал файл WSDL и не могу внести в него изменения. Если я могу изменить сообщение suds, чтобы оно выглядело как сообщение Soapui, ответ должен работать нормально. Я ограничен исправлениями и модификациями пены, так как она является частью платформы зажигания Inductive Automation.

Это сообщение с запросом от suds

Это запрос сообщения от Soapui с использованием того же WSDL

Я могу поделиться WSDL, если это поможет. Спасибо

1 ответ

Чтобы добавить элемент в запрос, вы можете использовать метод client.factory.create().

Решение может работать так:

# Create a Processing_Req object
processing_req = client.factory.create('{http://wackerneuson.com/wn/in/Conveyor_Belt/ConveyorBeltProcessing}Processing_Req')

# Create a Record object which is a child of Processing_Req
record = client.factory.create('{http://wackerneuson.com/wn/if/Conveyor_Belt/ConveyorBeltProcessing}Processing_Req.record')

# set the DELV_NUM element which is a child of the record element.
record.DELV_NUM = '82934258'

# append the new record object to the processing_req object
processing_req.record.append(record)

# make the request with the new record object created and populated
request = client.service.Processing_OS(record)
Другие вопросы по тегам