Я пытаюсь подключиться к конечной точке мыла, которая определяет 2 расположения службы, одно из которых недопустимо.Как я могу изменить привязку, чтобы использовать другой сервис.Я новичок в SOAP, и мне кажется, что документ говорит :
from zeep import Client
from zeep import xsd
client = Client('http://my-endpoint.com/production.svc?wsdl')
service2 = client.bind('SecondService', 'Port12')
service2.someOperation(myArg=1)
Но здесь не упоминается аргумент.
Мои сервисы определены как:
<wsdl:service name="PackageInq">
<wsdl:port name="BasicHttpBinding_IPackageInq" binding="tns:BasicHttpBinding_IPackageInq">
<soap:address location="http://invalid.local:8989/TopUp/PackageInq.svc"/>
</wsdl:port>
<wsdl:port name="BasicHttpsBinding_IPackageInq" binding="tns:BasicHttpsBinding_IPackageInq">
<soap:address location="https://valid.com/TopUp/PackageInq.svc"/>
</wsdl:port>
</wsdl:service>
Я пробовал что-то похожее client.bind('BasicHttpsBinding_IPackageInq')
и получаю:
ValueError: Service not found
Также, если вы знаете какой-нибудь хороший документ, который я могу прочитать, я был бы рад, если вы порекомендуете его.
Обновление Я нашел правильный синтаксис
client.bind('PackageInq', 'BasicHttpsBinding_IPackageInq')
, но при использовании
client.service.Method()
снова достигает недопустимой конечной точки