Использование конечной точки SOAP с помощью Zeep/WSDLPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Использование конечной точки SOAP с помощью Zeep/WSDL

Сообщение Гость »


Я пишу быстрый инструмент для отправки заданий через SOAP API.

Раньше я делал это с Zeep, но, похоже, возникли проблемы с одной конечной точкой, которая использует xsd в WSDL.

Вот что у меня есть на данный момент (исключая базовый импорт из Zeep):

client = Client("wsdl/create_works_orders_definition.wsdl") с client.settings(strict=False, xml_huge_tree=True, xsd_ignore_sequence_order=True): запрос = zeep.xsd.Element('SX3_XML_DOCUMENT', zeep.xsd.ComplexType([ zeep.xsd.Sequence([ zeep.xsd.Element('SX3_HEADER', zeep.xsd.ComplexType([ zeep.xsd.Element('API',zeep.xsd.String()), zeep.xsd.Element('ЗАПРОС',zeep.xsd.String()), zeep.xsd.Element('REQUEST_USER',zeep.xsd.String()), zeep.xsd.Element('REQUEST_PASSWORD',zeep.xsd.String()), ]) ), zeep.xsd.Элемент( 'SX3_BODY', zeep.xsd.ComplexType([ zeep.xsd.Element('CreateWorksOrders', zeep.xsd.ComplexType([ zeep.xsd.Element('ExternalReference',zeep.xsd.String()), zeep.xsd.Element('PropertyReference',zeep.xsd.String()), zeep.xsd.Element('WorkProgramme',zeep.xsd.String()), zeep.xsd.Element('ContractorSite',zeep.xsd.String()), zeep.xsd.Element('RaisingDateTime',zeep.xsd.String()), zeep.xsd.Element('PriorityCode',zeep.xsd.String()), zeep.xsd.Element('TargetDatetime',zeep.xsd.String()), zeep.xsd.Element('LocationNotes',zeep.xsd.String()), zeep.xsd.Element('AccessNotes',zeep.xsd.String()), zeep.xsd.Element('AccessAm',zeep.xsd.String()), zeep.xsd.Element('AccessPm',zeep.xsd.String()), zeep.xsd.Element('WoDescription',zeep.xsd.String()), ]) ), ]) ), ]) ]) ) request_body = request(SX3_HEADER={'API':'','REQUESTOR':'','REQUEST_USER':'','REQUEST_PASSWORD':''}, SX3_BODY={'ExternalReference': '', 'PropertyReference':'', 'Рабочая программа':'', 'Сайт подрядчика':'', 'RaisingDateTime': '', 'Код Приоритета':'', 'TargetDatetime': '', 'Примечания о местоположении':'', 'AccessNotes':'', 'AccessAm':'', 'AccessPm':'', 'WoDescription':''}) create = client.service.CreateWorksOrders( тело_запроса, ) При попытке проверить я получаю следующую ошибку:

ComplexType() получил неожиданный аргумент ключевого слова «ContractorSite». Подпись: `CreateWorksOrders: {ExternalReference: xsd:string, PropertyReference: xsd:string, WorkProgramme: xsd:string, ContractorSite: xsd:string, RaishedDateTime: xsd:string, PriorityCode: xsd:string, TargetDatetime: xsd:string, LocationNotes: xsd:string, AccessNotes: xsd:string, AccessAm: xsd:string, AccessPm: xsd:string, WoDescription: xsd:string}` Wsdl находится здесь: https://drive.google.com/file/d/1NIfMqi ... sp=sharing

Это длинно, поэтому я не хотел копировать и вставлять все это.

Может кто-нибудь указать мне правильное направление?

Заранее спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Вызов Python Zeep wsdl, дающий невозможность привести объект типа «System.Xml.XmlNode[]» к типу «System.IConvertible»
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • SOAP – не знаю, какой URL-адрес моей конечной точки
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как добавить временную метку к подписи с помощью Zeep?
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как программно (!) Проверяет запрос/ответ SOAP с помощью WSDL?
    Anonymous » » в форуме JAVA
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Как программно (!) Проверяет запрос/ответ SOAP с помощью WSDL?
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»