-
suds调用webservice5
import logging
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.wsdl').setLevel(logging.DEBUG)
from suds import WebFault
from suds.client import Client
from suds.xsd.doctor import Import
from suds.xsd.doctor import ImportDoctor
imp = Import('http://www.w3.org/2001/XMLSchema')
imp.filter.add('http://WebXml.com.cn/')
doctor = ImportDoctor(imp)
url = 'http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL'
client = Client(url,doctor=doctor)
print (client)
print (client.service.getWeather('58367'))
运行结果如下
DEBUG:suds.wsdl:reading wsdl at: http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL ...
DEBUG:suds.wsdl:binding: "WeatherWSHttpGet" not a soap binding
DEBUG:suds.wsdl:binding: "WeatherWSHttpPost" not a soap binding
DEBUG:suds.wsdl:binding "WeatherWSHttpGet" - not a soap, discarded
DEBUG:suds.wsdl:binding "WeatherWSHttpPost" - not a soap, discarded
Traceback (most recent call last):
File "E:\python project\Python_WebService\src\WebServie.py", line 19, in <module>
client = Client(url,doctor=doctor)
File "build\bdist.win32\egg\suds\client.py", line 112, in __init__
File "build\bdist.win32\egg\suds\reader.py", line 152, in open
File "build\bdist.win32\egg\suds\wsdl.py", line 159, in __init__
File "build\bdist.win32\egg\suds\wsdl.py", line 220, in build_schema
File "build\bdist.win32\egg\suds\xsd\schema.py", line 93, in load
File "build\bdist.win32\egg\suds\xsd\schema.py", line 305, in open_imports
File "build\bdist.win32\egg\suds\xsd\sxbasic.py", line 542, in open
File "build\bdist.win32\egg\suds\xsd\sxbasic.py", line 563, in download
File "build\bdist.win32\egg\suds\xsd\schema.py", line 397, in instance
File "build\bdist.win32\egg\suds\xsd\schema.py", line 226, in __init__
File "build\bdist.win32\egg\suds\xsd\schema.py", line 305, in open_imports
File "build\bdist.win32\egg\suds\xsd\sxbasic.py", line 542, in open
File "build\bdist.win32\egg\suds\xsd\sxbasic.py", line 560, in download
File "build\bdist.win32\egg\suds\reader.py", line 79, in open
File "build\bdist.win32\egg\suds\reader.py", line 95, in download
File "build\bdist.win32\egg\suds\transport\https.py", line 60, in open
File "build\bdist.win32\egg\suds\transport\http.py", line 62, in open
File "build\bdist.win32\egg\suds\transport\http.py", line 118, in u2open
File "C:\Python27\lib\urllib2.py", line 394, in open
response = self._open(req, data)
File "C:\Python27\lib\urllib2.py", line 412, in _open
'_open', req)
File "C:\Python27\lib\urllib2.py", line 372, in _call_chain
result = func(*args)
File "C:\Python27\lib\urllib2.py", line 1199, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "C:\Python27\lib\urllib2.py", line 1170, in do_open
r = h.getresponse(buffering=True)
File "C:\Python27\lib\httplib.py", line 1027, in getresponse
response.begin()
File "C:\Python27\lib\httplib.py", line 407, in begin
version, status, reason = self._read_status()
File "C:\Python27\lib\httplib.py", line 371, in _read_status
raise BadStatusLine(line)
httplib.BadStatusLine: ''
2012年3月01日 20:57
目前还没有答案
相关推荐
### Python使用Suds调用WebService接口的方法详解 在软件开发过程中,经常需要不同系统或平台之间进行通信,其中一种常用的方式就是使用WebService。本文将详细介绍如何利用Python中的Suds库来实现与WebService接口...
### Python调用WEBSERVICE接口知识点详解 #### 一、基础知识概述 1. **Web Service**:一种跨编程语言和操作系统平台的远程调用技术,它通过HTTP协议提供服务,可以被任何其他系统调用。 2. **SOAP(Simple Object...
2. **Python**:可以使用`zeep`库或`suds-jurko`库来调用WebService。 3. **C#**:可以利用.NET Framework提供的`System.Web.Services.Protocols.SoapHttpClientProtocol`类或使用WCF(Windows Communication ...
通过上述内容,我们了解到如何使用Python结合Suds库来调用WebService接口。这种方式不仅简化了跨系统通信的过程,而且提供了灵活且强大的数据交互能力。此外,通过示例代码的学习,可以更好地理解如何在实际项目中...
4. **SOAP客户端库**:大多数编程语言都有对应的SOAP客户端库,如Java的JAX-WS,Python的suds,PHP的SoapClient等,它们简化了动态调用Web Service的过程。开发者只需要提供WSDL地址,库会自动生成对应的调用方法。 ...
4. **调用过程**:使用编程语言(如Java的JAX-WS,Python的suds库,或.NET的SoapHttpClient)创建一个客户端,这个客户端能够解析WSDL并生成对应的代理类。通过这些代理类,我们可以构造并发送SOAP请求,然后接收并...
Python调用WebService接口是一种常见的数据交互方式,尤其在分布式系统和跨平台通信中。WebService接口通常基于SOAP(Simple Object Access Protocol)协议,提供了一种标准化的方式来交换结构化信息。在Python中,...
Python中的SUDS库是用来访问和操作Web Service的工具,特别适用于SOAP协议。SUDS是Simple SOAP Client的缩写,由John Watkinson开发。它允许Python开发者方便地调用远程Web Service,处理复杂的XML数据,并且提供了...
1. **解析WSDL**:使用XML解析库(如Java的JAXB或wsimport,Python的suds等)解析WSDL文件,生成服务代理类或客户端 stub。这些类提供了与服务交互的方法。 2. **创建服务实例**:使用解析WSDL得到的类,创建服务...
在标题和描述中提到的"webservice,soap调用",这是指使用SOAP协议来调用Web服务的过程。SOAP消息通常以HTTP或HTTPS作为传输协议,其结构主要由三个部分组成:Header、Body和Envelope。Header部分包含了关于消息处理...
在本文中,我们将深入探讨Python Suds库的核心功能、使用场景以及如何通过它来调用Web服务接口。 首先,让我们了解SOAP。SOAP是一种基于XML的协议,用于在Web上交换结构化和类型化的信息。它提供了标准的方式来封装...
例如,可以使用Java的JAX-WS库、C#的SoapHttpClient类或者Python的suds库来调用Web Service。 在处理Web Service的响应时,要关注异常处理。当服务端返回错误状态码或异常信息时,客户端需要有能力捕获并处理这些...
- 安装必要的库或框架,比如对于SOAP调用可能需要`suds-jurko`,对于REST调用则可能需要`requests`。 - 分析并理解示例代码,了解如何构建请求和解析响应。 - 如果示例包含配置文件或API密钥,确保正确配置以访问Web...
在这个“WebService调用天气预报小例子”中,我们将探讨如何利用WebService获取并显示实时天气预报信息。 首先,WebService是基于标准的XML(Extensible Markup Language)和SOAP(Simple Object Access Protocol)...
2. 生成代理类:利用工具(如SoapUI、Visual Studio等)解析WSDL,自动生成客户端所需的代理类或代码,这些代码封装了调用WebService的逻辑。 3. 实例化代理:创建代理类的实例,设置必要的参数,如URL、认证信息等...
描述中提到,Python3.x 访问 WebService 所需的第三方库是指 suds。在 Python3.x 环境下,由于 Python2.x 的 suds 库不再支持,所以需要使用兼容 Python3 的版本,如 suds-jurko。这个库由Jurko Gospodnetić维护,...
开发者可以通过SUDS调用SOAP服务,通过wxPython构建用户界面,通过logging模块跟踪应用状态,以及使用base64处理二进制数据。这样的客户端可以作为一个通用工具,适应各种基于SOAP的Web服务,提高开发效率并简化与...
- **移动应用后端**:移动应用可以通过调用后端的WebService实现数据同步和业务逻辑处理。 5. **开发流程** - 定义服务接口和数据模型:使用WSDL描述服务及其操作。 - 实现服务端:根据WSDL生成服务代码,实现...