zhangsanfeng88 发表于 2017-4-24 09:10:16

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, 尽量使用英文关键词搜索
  二. 遇到技术性问题, 如果钻研一段时间仍没有头绪, 不要再盲目处理, 需要静下心来,梳理解决思路. 
  如本人发现,如当天不能解决的问题, 即使几班,往往效果不好. 休息一晚,第二天往往会有新的想法, 往往就找到解决办法.
页: [1]
查看完整版本: python 调用webservice问题解决