我想使用Python Zeep SOAP客户端对Cisco CUCM进行SOAP调用。
在Cisco WSDL文件中定义了服务:

<service name="AXLAPIService">
    <port binding="s0:AXLAPIBinding" name="AXLPort">
        <soap:address location="https://CCMSERVERNAME:8443/axl/"/>
    </port>
</service>

现在,我想将“CCMSERVERNAME”更改为真实的名称,例如“192.168.250.10”,而无需更改WSDL。

但是从文档中我找不到任何可以改变它的东西。

我在这里找到了有关使用“Client.set_address()”更改URL的讨论,但这不再起作用。

有人可以给我一个提示吗?

编辑:
在mvt的帮助下,对于有相同问题的任何人,请使用以下命令创建服务:
service = client.create_service("  {http://www.cisco.com/AXLAPIService/}AXLAPIBinding","https://192.168.250.10:8443/axl/")

这里是一个工作中的SOAP调用的示例:
phones = service.listPhone({'devicePoolName':'Default'},returnedTags={'name':'','model':''})

返回列表中的设备:
SEPFFFFFFFFFFAA Cisco 7841
SEPAAAABBBB2222 Cisco 7841

最佳答案

这应该可以通过http://docs.python-zeep.org/en/master/client.html#creating-new-serviceproxy-objects

干杯(zeep的作者)

关于python - 在Python Zeep中更改服务URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42236251/

10-11 02:12
查看更多