关键词: python suds wsdl文件生成客户端
Python调用webservice服务, 之前遇到的webservice 服务方都会暴漏wsdl地址,此时使用suds生成client非常简单 如官网用例:
from suds.client import Client url = 'http://localhost:7080/webservices/WebServiceTestBean?wsdl' client = Client(url)
而这次服务方只外网只提供服务. 并提供了wsdl文件. 此时使用Python suds时, 如何处理给我不小困扰.
尝试看了suds的官方文档:
https://fedorahosted.org/suds/wiki/Documentation
并未找到根据wsdl文件生成client.
使用baidu ,google : python wsdl文件 等未找到相应资料.
困扰一下午,未找到答案. 决定休息下, 第二天再处理.
今天, 突然想到这些资料原始开发这都在国外, 应该使用google搜素英文.
于是 google : python wsdl file , 前几条结果:
http://stackoverflow.com/questions/4046628/is-it-possible-to-use-python-suds-to-read-a-wsdl-file-from-the-file-system
http://stackoverflow.com/questions/16198111/is-there-a-way-to-provide-an-external-wsdl-file-to-a-python-suds-client
看到了熟悉的stackoverflow ,直接有例子:
url='file:///path/to/file'
于是本地代码如下:
client = Client('file:///D:/IDEA/product/src/testcase/prodrm/SOAPPortal.wsdl', cache=None) client.set_options(location = url)
这样client生成后, 可根据suds文档示例,进行远程调用操作.
总结:
一. 合理使用搜素引擎 至关重要 1首先google 2.对于不常见的issue, 尽量使用英文关键词搜索
二. 遇到技术性问题, 如果钻研一段时间仍没有头绪, 不要再盲目处理, 需要静下心来,梳理解决思路.
如本人发现,如当天不能解决的问题, 即使几班,往往效果不好. 休息一晚,第二天往往会有新的想法, 往往就找到解决办法.