Одинаковые данные при подключении к нескольким клиентам wsdl с использованием zeep - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь подключиться к двум различным wsdl, используя zeep и печатая операции. Когда я подключаюсь к первому клиенту и печатаю, я получаю правильный ответ, но когда я подключаюсь ко второму, я получаю те же операции.

Я могу получить данные, если подключусь к одному клиенту, затем перезапущу базу данных, пропущу первый клиент и подключусь ко второму.

from zeep.client import Client

localDPClient = Client("http://localhost/StorageManager/?wsdl")
print([method for method, value in localDPClient.service.__dict__["_operations"].items()])

localDPClient2 = Client("http://localhost/CableBoxManager/?wsdl")
print([method for method, value in localDPClient2.service.__dict__["_operations"].items()])

Вывод

['ImportArtifacts', 'ImportBundles', 'ExportArtifacts', 'ExportBundles', 'ReadArtifactsFromTypes']
['ImportArtifacts', 'ImportBundles', 'ExportArtifacts', 'ExportBundles', 'ReadArtifactsFromTypes']

Ожидаемый результат

['ImportArtifacts', 'ImportBundles', 'ExportArtifacts', 'ExportBundles', 'ReadArtifactsFromTypes'
['IdentifyBox', 'IdentifyCable', 'ReadCable', 'ReadCableDefinition', 'ReadAllCableFeatures', 'ReadBox']

1 Ответ

1 голос
/ 21 февраля 2020

Решил, добавив больше параметров

localDPClient = Client("http://localhost/StorageManager/?wsdl", service_name="StorageManager", port_name=f"WSHttpBinding_IStorageManager")

localDPClient2 = Client("http://localhost/CableBoxManager/?wsdl", service_name="CableBoxManager", port_name=f"WSHttpBinding_ICableBoxManager")
...