WEB开发网
开发学院软件开发Python Python Web 服务开发者 第 6 部分: Python SOAP 库... 阅读

Python Web 服务开发者 第 6 部分: Python SOAP 库,第 2 部分

 2007-03-29 12:12:35 来源:WEB开发网   
核心提示: $ python setup.py install请下载 ZSI 包并将它解包,然后以相同的办法构建它:$ python setup.py install这是 Python 的分发实用程序(distribution utility)(也称为 distutils)给安装附加的 Python
$ python setup.py install

请下载 ZSI 包并将它解包,然后以相同的办法构建它:

$ python setup.py install

这是 Python 的分发实用程序(distribution utility)(也称为 distutils)给安装附加的 Python 包带来的一致性。

既然都安装好了,就请您使用 Python 文档工程中所用的相同的 LaTeX 工具来查看一下 doc 目录,其中有 HTML、PDF、postscript 和 TeX 格式的很不错的文档。

调用客户机特权

首先,我们来研究作为 SOAP 客户机的 ZSI。在上一部分中,我们编写了一个访问玩具 Web 服务的 SOAP.py 客户机,该 Web 服务返回 Captain Haddock(阿道克船长)的咒语(curse)(在 丁丁漫画迷中常盛不衰)。我们将用 ZSI 编写一个针对同一个服务器的客户机。不幸的是,我们在这样做时碰到了一些纠缠难解的问题。最简单的办法如 清单 1 的代码所示,但我们发现这种办法要求服务器既要按照参数名,又要按照参数的顺序来处理消息参数,而用来实现 Captain Haddock 服务器的 Borland Delphi 实现的灵活性却没这么好,因此,这让人很苦恼。

清单 1:试图访问 Captain Haddock SOAP 服务的 ZSI 程序

 #http://xmethods.net/detail.html?id=175
import sys
#Import the ZSI client
from ZSI.client import Binding
u = '/scripts/Haddock.exe/soap/IHaddock'
n = 'urn:HaddockIntf-IHaddock'
b = Binding(url=u, ns=n, host='www.tankebolaget.se', port=80,
      tracefile=sys.stdout)
try:
 lang = sys.argv[1]
except IndexError:
 lang = 'us'
result = b.Curse(lang)
print 'What captain Haddock had to say: "%s"'%result

上一页  1 2 3 4 5 6 7  下一页

Tags:Python Web 服务

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接