suds调用webservice,option设置

suds调用webservice,option设置suds 是个好东西 轻便 主要是体积够小 依赖包也小 可以满足小脚本的需要 现在最新的 suds 版本是 0 4 好像已经不再更新了 不过依旧好用 上这个网址下载 本人下的是 tar 包自己本地进行编译 https pypi python org pypi suds 0 4Python2 的可以下载 tar 包后 解压 进入解压的目录 nbsp suds 0 4 nbsp 在 cmd 运行语句 python nbsp setup py

suds 是个好东西,轻便,主要是体积够小,依赖包也小,可以满足小脚本的需要。

现在最新的suds版本是0.4 ,好像已经不再更新了,不过依旧好用。

上这个网址下载,本人下的是tar包自己本地进行编译

https://pypi.python.org/pypi/suds/0.4


suds调用webservice,option设置


Python2的可以下载tar包后,解压,进入解压的目录 suds-0.4  

在cmd运行语句 python  setup.py install 

如果没什么的问题的话  在cmd  运行语句 pip list 就知道成功没了。

可惜我的电脑是Python3 

毫无悬念的报错了

Traceback (most recent call last):

  File “setup.py”, line 20, in


    import suds
  File “C:\Users\Administrator\Desktop\suds-0.4\suds-0.4\suds\__init__.py”, line
 154, in


    import client













ModuleNotFoundError: No module named ‘client’

后来查了一下

Python3 用的这个suds-jurko

https://pypi.python.org/pypi/suds-jurko/0.6


安装方法跟Python2一样。

如果安装完后 import 失败找不到suds库的话,把压缩包的suds,suds.egg-info放到Python目录的\Lib\site-packages目录下,就不会报错了。

开始来点代码吧。

这个网址有很多webservice服务,我随便用了个天气的来试了一下

http://www.webxml.com.cn/zh_cn/web_services.aspx

from suds.client import Client client = Client('http://www.webxml.com.cn/webservices/OnlineWebService.asmx?wsdl')#腾讯在线状态WEB服务 print(client) #看看这个service有什么方法可以用 

Suds ( https://fedorahosted.org/suds/ )  version: 0.6

Service ( OnlineWebService ) tns=”http://WebXml.com.cn/”
   Prefixes (0)
   Ports (2):
      (OnlineWebServiceSoap)
         Methods (1):
            CheckOnline(xs:string Code)
         Types (0):
      (OnlineWebServiceSoap12)
         Methods (1):
            CheckOnline(xs:string Code)
         Types (0):

所以方法调用就可以这样

from suds.client import Client client = Client('http://www.webxml.com.cn/webservices/OnlineWebService.asmx?wsdl') result=client.service.CheckOnline("") print (result)

就是这么简单。其实我觉得suds最好用的地方是设置。

from suds.client import Client client = Client('http://www.webxml.com.cn/webservices/OnlineWebService.asmx?wsdl') print (client.options)

Definitions: cache: classes=( 
               
                 ,), default= 
                
                  documentStore: classes=( 
                 
                   ,), default= 
                  
                    extraArgumentErrors: classes=( 
                   
                     ,), default=True faults: classes=( 
                    
                      ,), default=True transport: classes=( 
                     
                       ,), default=None service: classes=( 
                      
                        , 
                       
                         ), default=None port: classes=( 
                        
                          , 
                         
                           ), default=None location: classes=( 
                          
                            ,), default=None soapheaders: classes=*, default=() wsse: classes=( 
                           
                             ,), default=None doctor: classes=( 
                            
                              ,), default=None xstq: classes=( 
                             
                               ,), default=True prefixes: classes=( 
                              
                                ,), default=True retxml: classes=( 
                               
                                 ,), default=False prettyxml: classes=( 
                                
                                  ,), default=False autoblend: classes=( 
                                 
                                   ,), default=False cachingpolicy: classes=( 
                                  
                                    ,), default=0 plugins: classes=( 
                                   
                                     , 
                                    
                                      ), default=[] nosend: classes=( 
                                     
                                       ,), default=False unwrap: classes=( 
                                      
                                        ,), default=True Content: ('cache', 
                                       
                                         ) ('documentStore', 
                                        
                                          ) ('extraArgumentErrors', True) ('faults', True) ('transport', 
                                         
                                           ) ('service', None) ('port', None) ('location', None) ('soapheaders', ()) ('wsse', None) ('doctor', None) ('xstq', True) ('prefixes', True) ('retxml', False) ('prettyxml', False) ('autoblend', False) ('cachingpolicy', 0) ('plugins', []) ('nosend', False) ('unwrap', True) Linked: Definitions: proxy: classes=( 
                                          
                                            ,), default={} timeout: classes=( 
                                           
                                             , 
                                            
                                              ), default=90 headers: classes=( 
                                             
                                               ,), default={} username: classes=( 
                                              
                                                ,), default=None password: classes=( 
                                               
                                                 ,), default=None Content: ('proxy', {}) ('timeout', 90) ('headers', {}) ('username', None) ('password', None) Linked: Definitions: cache: classes=( 
                                                
                                                  ,), default= 
                                                 
                                                   documentStore: classes=( 
                                                  
                                                    ,), default= 
                                                   
                                                     extraArgumentErrors: classes=( 
                                                    
                                                      ,), default=True faults: classes=( 
                                                     
                                                       ,), default=True transport: classes=( 
                                                      
                                                        ,), default=None service: classes=( 
                                                       
                                                         , 
                                                        
                                                          ), default=None port: classes=( 
                                                         
                                                           , 
                                                          
                                                            ), default=None location: classes=( 
                                                           
                                                             ,), default=None soapheaders: classes=*, default=() wsse: classes=( 
                                                            
                                                              ,), default=None doctor: classes=( 
                                                             
                                                               ,), default=None xstq: classes=( 
                                                              
                                                                ,), default=True prefixes: classes=( 
                                                               
                                                                 ,), default=True retxml: classes=( 
                                                                
                                                                  ,), default=False prettyxml: classes=( 
                                                                 
                                                                   ,), default=False autoblend: classes=( 
                                                                  
                                                                    ,), default=False cachingpolicy: classes=( 
                                                                   
                                                                     ,), default=0 plugins: classes=( 
                                                                    
                                                                      , 
                                                                     
                                                                       ), default=[] nosend: classes=( 
                                                                      
                                                                        ,), default=False unwrap: classes=( 
                                                                       
                                                                         ,), default=True Content: ('cache', 
                                                                        
                                                                          ) ('documentStore', 
                                                                         
                                                                           ) ('extraArgumentErrors', True) ('faults', True) ('transport', 
                                                                          
                                                                            ) ('service', None) ('port', None) ('location', None) ('soapheaders', ()) ('wsse', None) ('doctor', None) ('xstq', True) ('prefixes', True) ('retxml', False) ('prettyxml', False) ('autoblend', False) ('cachingpolicy', 0) ('plugins', []) ('nosend', False) ('unwrap', True) 
                                                                           
                                                                          
                                                                         
                                                                        
                                                                       
                                                                      
                                                                     
                                                                    
                                                                   
                                                                  
                                                                 
                                                                
                                                               
                                                              
                                                             
                                                            
                                                           
                                                          
                                                         
                                                        
                                                       
                                                      
                                                     
                                                    
                                                   
                                                  
                                                 
                                                
                                               
                                              
                                             
                                            
                                           
                                          
                                         
                                        
                                       
                                      
                                     
                                    
                                   
                                  
                                 
                                
                               
                              
                             
                            
                           
                          
                         
                        
                       
                      
                     
                    
                   
                  
                 
               

之前找了很多文档都不知道怎么设置超时限制,自己想着直接把option打出来不就知道有什么可以设置了吗

from suds.client import Client client = Client('http://www.webxml.com.cn/webservices/OnlineWebService.asmx?wsdl') client.set_options(timeout=100)#这里单位是秒哦 result=client.service.CheckOnline("")

先写着这么多吧。。。





























版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225005.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午10:21
下一篇 2026年3月17日 上午10:21


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号