Как отправить тело POST при создании клиента python Zeep - PullRequest
0 голосов
/ 03 марта 2020

API, с которым я работаю, требует добавления тела POST при запросе клиента wsdl. Я использую Zeep, так что это будет выглядеть так:

  client = Client(wsdl=url, settings=s)

Как бы я добавил тело сообщения в этот момент? Я проверил документацию по настройкам, и в ней нет способа для этого. Есть ли альтернативный способ?

Если это невозможно библиотекой, могу ли я сделать запрос, используя стандартную библиотеку запросов python, и использовать клиент Zeep для обработки ответа?

ОБНОВЛЕНИЕ

Вот пример полезной нагрузки, который мне нужно включить. К сожалению, я не могу поделиться точным URL-адресом, который я использую.

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:int="http://acme.com/integration/">
            <soap:Header>
                            <int:AcmeNetOptions>
                                            <int:ImposeConcurrencyId>true</int:ImposeConcurrencyId>
                                            <int:UpdateLastModified>true</int:UpdateLastModified>
                                            <int:CanDeleteMissingEntity>true</int:CanDeleteMissingEntity>
                                            <int:LockOnDataRetrieval>Default</int:LockOnDataRetrieval>
                            </int:AcmeNetOptions>
            </soap:Header>
            <soap:Body>
                            <int:Login>
                                            <int:username>username</int:username>
                                            <int:password>password</int:password>
                                            <int:companyname>company</int:companyname>
                            </int:Login>
            </soap:Body>

...