我想使用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/