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)