近期,需要将一个PHP的项目的某个模块用python实现并独立出来。
在PHP代码里,发现使用了Soap协议,之前还真没接触过,查了一下, 是个比较老的协议了,实现数据通信。(现在基本都是http协议的API了)
贴一个SOAP的介绍:http://www.ibm.com/developerworks/cn/xml/x-sisoap/
百度搜了一下, python下有个SAPPpy实现了SOAP协议,可以实现服务端和客户端。(可能有其它更好的,我是尝试了一下,感觉够用就先用这个吧)
1. 站点
https://pypi.python.org/pypi/SOAPpy/
2. 下载
https://pypi.python.org/packages/source/S/SOAPpy/SOAPpy-0.12.22.zip
3. 安装
我用的环境是centos6.2
安装也是很简单
cd SOAPpy-0.12.22 python setup.py build python setup.py install 安装完成后,可以进入python命令行, >>> import SOAPpy 若不报警,则安装完成
4. 简单测试
我参考官网的例子在终端环境跑了一下,很顺利,成功了。
服务器端:
Finished processing dependencies for SOAPpy==0.12.22 [root@localhost SOAPpy-0.12.22]# python Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import SOAPpy >>> def hello(): ... return "hello world." ... >>> server = SOAPpy.SOAPServer(("0.0.0.0", 9096)) >>> server.registerFunction(hello) >>> server.serve_forever()
客户端:
[root@localhost ~]# python Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import SOAPpy >>> server = SOAPpy.SOAPProxy("http://localhost:9096/") >>> print server.hello() hello world.