近期,需要将一个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.