簡體   English   中英

如何使用 Python zeep 從具有多個綁定的 Python Soap 客戶端訪問所有 Web 服務方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM