[英]How to access all Webservice methods from a Python Soap Client with multiple bindings using Python zeep
我必須使用來自 SOAP 服務的數據,這對我來說是一項新技術。 我使用以下代碼從服務器連接:
from requests import Session
from requests.auth import HTTPBasicAuth
from zeep import Client
from zeep.transports import Transport
wsdl= 'my_service.com/MEX?wsdl'
username = 'john_doe'
password = 'password'
session = Session()
session.auth = HTTPBasicAuth(username, password)
transport = Transport(session=session)
client = Client(wsdl=wsdl, transport=transport)
使用 SoapUi 軟件並連接到這個服務器,我意識到它有三個綁定,每個綁定都有很多 Web 服務。 但是,使用 Python,我只能訪問 Web 服務(通過 client.service)進行第一次綁定。 我想知道如何從另外兩個綁定訪問 Webservice 方法。
OBS:client.wsdl.bindings 返回一個字典,將一些包含在 SoapUI 上看到的綁定名稱的 url 映射到 Soap11Binding 實例。
默認情況下, Zeep
選擇 WSDL 中的第一個綁定。 此綁定可通過client.service
。 要使用特定綁定,您可以在客戶端對象示例代碼上使用bind()
方法:
service2 = client.bind('SecondService', 'Port12')
service2.someOperation(arg1='abc', arg2=2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.