如何用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
相关推荐
Python Suds库是用于Python开发的一个重要工具,它允许开发者轻松地与SOAP(Simple Object Access Protocol)服务进行交互。在本文中,我们将深入探讨Python Suds库的核心功能、使用场景以及如何通过它来调用Web服务...
最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds mac: sudo pip install suds linux: easy_install suds 也可以通过去官网...
suds 是一个开源的 SOAP 客户端,它为 Python 提供了与 SOAP 服务交互的能力。SOAP(简单对象访问协议)是一种基于 XML 的协议,用于交换结构化信息,常用于 Web 服务通信。 描述中提到,Python3.x 访问 WebService...
SUDS(Simple Unix Domain SOAP)是一个强大的Python库,用于与SOAP(简单对象访问协议)服务进行交互。本文将详细探讨SUDS的一个特定版本——SUDS-Jurko 0.6,以及如何利用它来实现Python中的Web服务调用。 SUDS-...
Python-suds是一个Python库,用于与SOAP(Simple Object Access Protocol)服务进行交互。SOAP是一种基于XML的协议,常用于在不同应用程序之间交换数据。suds库由David Boring开发,旨在提供一个轻量级且易于使用的...
`suds` 是一个 Python 库,用于与 SOAP (Simple Object Access Protocol) 服务进行交互。SOAP 是一种基于 XML 的协议,常用于Web服务,允许不同系统间的远程调用和数据交换。在Python社区中,suds 提供了一个简单且...
1. **suds**:一个用于Python的SOAP客户端库,能够解析WSDL文件并自动生成可以使用的Python类。 2. **base64**:用于将二进制数据转换为文本字符串的编码方式,常见于传输二进制数据时的编码需求。 #### 三、详细...
Suds是Python中一个轻量级的SOAP客户端库,由John Soderling开发,它使得与SOAP服务进行交互变得简单易行。然而,原版的Suds库在处理SSL证书时存在一些限制,例如无法进行证书验证,这可能导致安全问题。为了解决这...
Python中的SUDS库是用来访问和操作Web Service的工具,特别适用于SOAP协议。SUDS是Simple SOAP Client的缩写,由John Watkinson开发。它允许Python开发者方便地调用远程Web Service,处理复杂的XML数据,并且提供了...
在与外部系统交互时,Python提供了丰富的库来调用各种Web接口,其中之一就是`suds`库。本篇文章将深入探讨如何使用Python的`suds`包来调用Web服务接口。 `suds`是一个Python客户端库,用于与SOAP(Simple Object ...
Suds项目已经停止维护,社区推荐使用更新的库如Zeep、suds-jurko或python-soap-client等。这些库提供了更好的错误处理和更现代的API,可能能更好地解决兼容性问题。 最后,如果错误依然存在,可以尝试在代码中添加...
SUDS是Simple Python SOAP客户端的缩写,它为Python开发者提供了一个简单的方法来调用SOAP(Simple Object Access Protocol)服务。SOAP是一种在Web上交换结构化和类型化的信息的协议,常用于构建Web服务。 首先,...
Suds是一个轻量级的SOAP-based Python客户端库,它支持LGPL许可。该库主要用于简化SOAP协议下的服务调用流程。在本文档中,我们将详细介绍使用Suds库进行WebService调用的具体步骤。 #### 配置文件与引用 为了实现...
suds-jurko是一个用于Python的SOAP Web服务客户端库。它可以帮助开发者轻松地与WebService交互,特别适合于那些需要与提供SOAP接口的服务进行通信的应用场景。suds-jurko支持多种Python版本,包括Python3,并且提供...
from suds.client import Client url = 'http://localhost:8732/Design_Time_Addresses/YourNamespace/CardReaderService/Service.svc?wsdl' client = Client(url) card_number = client.service.ReadCardNumber() ...
在Python编程环境中,开发Web服务通常涉及使用各种库和框架,其中之一便是SOAPpy。SOAPpy是一个用于构建和消费SOAP(Simple Object Access Protocol)服务的Python库。SOAP是一种基于XML的协议,广泛用于分布式应用...
1. **suds库**:suds是Python中一个流行的SOAP客户端库,它允许开发者通过简单的API调用来与SOAP Web服务进行通信。SOAP(Simple Object Access Protocol)是一种用于交换结构化信息的协议,常用于Web服务。suds库...
在Python中,有suds库可以方便地生成和解析SOAP消息。在创建SOAP消息时,需要确保XML结构符合SOAP规范,并正确设置请求的Action、Namespace和SOAPAction头等信息。 WSDL(Web Services Description Language)则是...
总的来说,Suds为Python开发者提供了一个强大且易于使用的工具,极大地简化了SOAP服务的客户端开发,使其成为Python与SOAP服务交互的标准选择之一。通过深入理解和应用Suds,你可以更加高效地整合远程系统和服务,...