suds调用webserive时出现suds.TypeNotFound错误

一、正常调用

1 # coding:utf-8
2 from suds.client import Client
3
4 if __name__ == ‘__main__‘:
5     client = Client(‘http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl‘)
6     print client.service.getMobileCodeInfo(‘15116020790‘, ‘‘)
7
8 ## result
9 15116020790:湖南 株洲 湖南移动全球通卡

二、调用出现错误

 1 # coding: utf-8
 2 from suds.client import Client
 3
 4 if __name__ == ‘__main__‘:
 5     client = Client(‘http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl‘)
 6     print client
 7
 8 ## result
 9 File "C:\project\Test\venv\lib\site-packages\suds\xsd\sxbasic.py", line 422, in dependencies
10     raise TypeNotFound(self.ref)
11 suds.TypeNotFound: Type not found: ‘(schema, http://www.w3.org/2001/XMLSchema, )‘

三、解决方式

 1 # coding: utf-8
 2 from suds.client import Client
 3 from suds.xsd.doctor import ImportDoctor, Import
 4
 5 if __name__ == ‘__main__‘:
 6     imp = Import(‘http://www.w3.org/2001/XMLSchema‘,
 7                  location=‘http://www.w3.org/2001/XMLSchema.xsd‘)
 8     imp.filter.add(‘http://WebXml.com.cn/‘)
 9     doctor = ImportDoctor(imp)
10     client = Client(‘http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl‘, doctor=doctor)
11     # print client
12     print client.service.getWeatherbyCityName(u‘上海‘)
13
14 ## result
15 (ArrayOfString){
16    string[] =
17       "直辖市",
18       "上海",
19       ...,
20       "今日天气实况:气温:23℃;风向/风力:静风 0级;湿度:77%;紫外线强度:弱。空气质量:中。", ...
21  }

参考:

https://stackoverflow.com/questions/4719854/soap-suds-and-the-dreaded-schema-type-not-found-error

https://bitbucket.org/jurko/suds/issues/20/typenotfound-schema

原文地址:https://www.cnblogs.com/elephanyu/p/9136556.html

时间: 2024-11-10 08:15:24

suds调用webserive时出现suds.TypeNotFound错误的相关文章

suds 调用 Ladon示例中的服务

ladon-0.9.35 在生成描述时 将参数 search_frase 转成了 search-frase,这导致在客户端suds调用时命名参数不可用..应该是个bug <element name="listBands"> <complexType> <sequence> <element name="search-frase" type="xsd:string"/> </sequence&g

python使用suds调用webservice接口

最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds mac: sudo pip install suds linux: easy_install suds 也可以通过去官网下载suds代码,再本地安装 2. 引用初始化 1 >>> from suds.client import Client 2 >>> url = 'http://www.gpsso.co

PLS-00306: 调用 &#39;SYNCRN&#39; 时参数个数或类型错误

System.Data.OracleClient.OracleException (0x80131938): ORA-00604: 递归 SQL 级别 1 出现错误 ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'SYNCRN' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 在 System.Data.OracleClient.OracleConnection.CheckError 解决

[问题解决]开启了adsubcon调用BAPI_GOODSMVT_CREATE创建物料凭证时第一行批次错误

1,问题描述 项目里使用了ADSUBCON,在调用BAPI_GOODSMVT_CREATE创建带subcontractor行项目的物料移动凭证时,发现主行项目中的批次赋值错误. 错误截图: 看到第一行,也就是物料移动类型是101的行项目上的批次是1208221560,实际调用bapi时的输入批次是另外一个1906050181,但是创建出来的物料凭证却不同,而且bapi返回消息中也没有提示任何信息. &lt;img class="alignnone size-medium wp-image

调用函数时传递的实参个数arguments.length; ,函数定义时的形参个数sum.length

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>范例6-4</title>

水晶报表 Crystal Report 调用存储过程时出错 找不到表 ,解决方法。

用 CrystalReportViewer1 控件在asp.net的网页上显示报表,如果做报表时调用数据表数据的方式调用是可以成功的,但报表是用存储过程获取数据方式会出现以下错误: 找不到表'RptOpenCheck;1' . 文件 G:\TEMP\FO-OpenCheck {6D191F06-DECF-4A25-88FC-8553E3D435AA}.rpt 内出错: 找不到表. Error: 未将对象引用设置到对象的实例. The table 'RptOpenCheck;1' could no

在向server发送请求时发生传输级错误。 (provider: 共享内存提供程序, error: 0 - 管道的还有一端上无不论什么进程。

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/36425825 SQL Server 2008 + VS2010 用C#编写的代码,进行数据库还原的时候,出错: 错误内容: 在向server发送请求时发生传输级错误. (provider: 共享内存提供程序, error: 0 - 管道的还有一端上无不论什么进程. 解决方法: 将SQL链接语句构造成例如以下: string strLink = @"server=.;datab

asp.net中当服务器出错时显示指定的错误页面

http://blog.csdn.net/helloxiaoyu/article/details/2943537 此篇文章描述了当异常再ASP.NET中发生时怎样使用C#.NET代码去拦截和相应异常.ASP.NET在异常处理方面比传统的ASP更优越.在ASP.NET中,允许在应用程序的各个层面中处理异常.ASP.NET的新特性ASP.NET为捕获并处理异常提供了更多的便利.在传统的ASP程序中,我们用“On Error Resume Next”(或Jscript的Try-catch)来处理异常.

在向服务器发送请求时发生传输级错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/36425825 SQL Server 2008 + VS2010 用C#编写的代码,进行数据库还原的时候,出错: 错误内容: 在向服务器发送请求时发生传输级错误. (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程. 解决方法: 将SQL链接语句构造成如下: string strLink = @"server=.;database=Data