现如今面向服务(SOA)的架构设计已经成为主流,把公用的服务打包成一个个webservice供各方调用是一种非常常用的做法,而应用最广泛的则是基于SOAP协议和wsdl的webservice。本文讲解python环境下如何发布及调用一个基于SOAP的webservice,基于soaplib(发布)和suds(调用)。
OS:ubuntu 14.04 python:2.7.6
服务端:
1.安装:
服务端要使用的工具包是soaplib,遗憾的是现在也停止维护了,不过好在还能用,下载地址在https://github.com/soaplib/soaplib,其官方文档在http://soaplib.github.io/soaplib/2_0/
首先直接下载zip文件,解压后直接运行python setup.py install即可。
2.写一个webservice服务:
接下来举个栗子,下面是一个接受一个string类型入参并返回一个string类型出参的webservice
1 importsoaplib2 from soaplib.core.model.primitive importString3 from soaplib.core.server importwsgi4 from soaplib.core.service import DefinitionBase #所有的服务类都继承DefinitionBase基类
5 from soaplib.core.service import soap #soap标识方法的特性
6
7 from model importfeedforward8
9
10 classwebserver(DefinitionBase):11 @soap(String, _retur