如何用python实现soap协议并搭建webservice
网上搜索了一番,用python实现soap的库有好几个,soappy,soaplib,suds等。但是SOAPpy这个库已经好几年没人去维护更新了,所以不予考虑,而suds这个库用来构建soap服务端比较麻烦,所以最终锁定soaplib来实现服务端发布,而用suds实现客户端获取;
第一步:安装soaplib
http://pypi.python.org/pypi/soaplib/0.8.1
写道
安装挺简单的:下载后解压进入到目录soaplib-0.8.1,
--> sudo python setup.py install即可
安装后在我本机的路径是在:/usr/local/lib/python2.6/dist-packages/下
--> sudo python setup.py install即可
安装后在我本机的路径是在:/usr/local/lib/python2.6/dist-packages/下
* 想要运行soaplib还必须依赖 libxml2及libxslt这二个包;google之后总结以下安装过程
第二步:安装libxml2
写道
1. wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.8.tar.gz
2. tar -xvzf libxml2-sources-2.7.8.tar.gz
3. cd libxml2-2.7.8
4. ./configure --prefix=/usr/local/libxml2
5. make
6. sudo make install
2. tar -xvzf libxml2-sources-2.7.8.tar.gz
3. cd libxml2-2.7.8
4. ./configure --prefix=/usr/local/libxml2
5. make
6. sudo make install
* 当一切都没有错的时候,你会在/usr/local里看到生成一个libxml2的文件夹
第三步:安装libxslt
写道
1. wget ftp://xmlsoft.org/libxslt/libxslt-1.1.26.tar.gz
2. tar -xvzf libxslt-1.1.26.tar.gz
3. cd libxslt-1.1.26
4. ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2/
5. make
6. sudo make install
2. tar -xvzf libxslt-1.1.26.tar.gz
3. cd libxslt-1.1.26
4. ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2/
5. make
6. sudo make install
* 当一切都没有错的时候,你会在/usr/local里看到生成一个libxslt的文件夹
第四步:复制文件
写道
将libxml2及libxslt文件夹复制到soaplib文件夹下,即/usr/local/lib/python2.6/dist-packages/soaplib-0.8.1-py2.6.egg/soaplib
至此,你可以使用soaplib开始来发布你的webservice了
. 下面是一个简单的'hello world'的server.py及client.py
#server.py from soaplib.service import soapmethod from soaplib.serializers.primitive import String, Integer, Array from soaplib.wsgi_soap import SimpleWSGISoapApp class HelloWorldService(SimpleWSGISoapApp): @soapmethod(String, _returns=String) def says(self,name): return name if __name__=='__main__': try: from wsgiref.simple_server import make_server server = make_server('192.168.0.219', 7889, HelloWorldService()) print "listening on 0.0.0.0:7889" server.serve_forever() except ImportError: print "Error: example server code requires Python >= 2.5"
. soaplib实现client
#client.py from server import HelloWorldService def make_client(): from soaplib.client import make_service_client client = make_service_client('http://192.168.0.219:7889', HelloWorldService()) return client a = make_client() print a.says('hello,world')
. 下面看看suds如何实现client
https://fedorahosted.org/releases/s/u/suds/python-suds-0.4.tar.gz
写道
安装也同soaplib很简单,解压进入目录,--> sudo python setup.py install即可
安装后在我本机的路径是在:/usr/local/lib/python2.6/dist-packages/下
安装后在我本机的路径是在:/usr/local/lib/python2.6/dist-packages/下
#client.py from suds.client import Client url = "http://192.168.0.219:7889?wsdl" client = Client(url) print client.service.says('hello world')
. 通过比较可以看出,用suds更简洁更方便,
.https://fedorahosted.org/suds/wiki/Documentation
相关推荐
webservice interface call by python
sudsssl运输 SUDS SOAP 库的健全 SSL 传输
离线安装包,亲测可用
资源分类:Python库 所属语言:Python 资源全名:suds-ews-0.3.7.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
suds-jurko-0.6.zip:python调用webservice的包,suds-jurko-0.6.zip:python调用webservice的包
python-suds-0.4.1.tar.gz
最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds mac: sudo pip install suds linux: easy_install suds 也可以通过去官网...
Suds是LGPL许可下的Python轻量级基于SOAP的Web服务客户端(请参阅发行版中包含的LICENSE.txt文件)。 这是jurko分支的社区分支。 分叉的项目信息 项目站点 可以从以下网站下载官方版本: Github- PyPI- //pypi....
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
一个python写的通用webservice client 涉及技术suds,wxpython,logging,base64
主要介绍了python suds访问webservice服务实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
suds包,其中包括XMLSchema.xsd 和xml.xsd
一、使用python3做webervice接口测试的第三方库选择suds-jurko库,可以直接pip命令直接下载,也可以在pypi官网下载压缩包进行手动安装 二、安装好后,导入Client:from suds.client import Client。发送一条请求 ...
Python3.x访问webservice所需要的第三方库。 具体安装方法请看我的新浪博客,ID My城
Suds:JavaScript SOAP客户端库 XML就像暴力-如果它不能解决您的问题,那么您可能使用的不够多。 Suds是用于JavaScript的轻量级SOAP客户端库。 Suds已在以下平台上经过测试: 钛金桌面(0.7.0) 钛合金手机...
python写的一个通用webservice client 涉及suds,logging,threading,wxpython
python-suds - Python 的轻量级 SOAP 客户端 以下是一些示例用法: 入门 import pycw cw = pycw . cw_orm ( 'support.mycompany.com' , 'mycompany' , 'MyIntegratorUser' , '1nt3gr4t0rP@ssW3rd' ) 例子
NULL 博文链接:https://huangfang7891-gmail-com.iteye.com/blog/1893536