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

Python Web 服务开发者 第 8 部分: Python SOAP 库

 2007-03-29 12:23:34 来源:WEB开发网   
核心提示: 清单 4. zsi-ns-server.py:更为通用的方法#!/usr/bin/env pythonimport sys, calendar#Import the ZSI machineryfrom ZSI import dispatchCAL_NS = "http://uch

清单 4. zsi-ns-server.py:更为通用的方法

#!/usr/bin/env python
import sys, calendar
#Import the ZSI machinery
from ZSI import dispatch
CAL_NS = "http://uche.ogbuji.net/eg/ws/simple-cal"
#The actual implementations
def getMonth(year, month):
  return calendar.month(year, month)
def getYear(year):
 return calendar.calendar(year)
#Generic function to check the namespace
def _functionMap(name,mapping,*args):
 cb = dispatch.GetClientBinding()
 func = mapping.get(cb.GetNS())
 if func is None:
  raise TypeError, "Unimplemented method %s %s" % (cb.GetNS(),name)
 return apply(func,args)
#Publicly defined methods
getMonthMap = {CAL_NS:getMonth,
        }
getMonth = lambda year,month,_functionMap=_functionMap,map=getMonthMap:_functionMap
("getMonth",map,year,month)
getYearMap = {CAL_NS:getYear,
       }
getYear = lambda year,_functionMap=_functionMap,map=getYearMap:_functionMap("getYear",map,year)
#Delete this so it is not available as a service.
del _functionMap
 
print "Starting server..."
dispatch.AsServer(port=8888)

在不久的将来

在这一专栏的下一部分中,我们将对一些不同的分布式编程技术进行比较,并分析每种技术具有的一些性能特征。我们将比较 SOAP、CORBA(Common Object Request Broker Architecture,通用对象请求代理体系结构)和 XML-RPC,另外还有一个用 pickle 库写成的自助实现。我们还要看一下消息的开销、应用程序的内存占用量、消息传送次数及实现这些方法中的每一种所需要的有关源代码的大小。

上一页  1 2 3 4 5 6 

Tags:Python Web 服务

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