python 调用webservice问题解决

关键词: 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, 尽量使用英文关键词搜索

二. 遇到技术性问题, 如果钻研一段时间仍没有头绪, 不要再盲目处理, 需要静下心来,梳理解决思路. 

如本人发现,如当天不能解决的问题, 即使几班,往往效果不好. 休息一晚,第二天往往会有新的想法, 往往就找到解决办法.

 

你可能感兴趣的:(Python)