00001
00002
00003
00004
00005
00006 import sys
00007 from FinancialService_server import *
00008 from ZSI.ServiceContainer import AsServer
00009
00010 class Service(FinancialService):
00011
00012 def soap_getPV(self, ps):
00013 request,response = FinancialService.soap_getPV(self, ps)
00014 args = request
00015
00016
00017 t = 0
00018 PV = 0.0
00019 for CF in args._CFSequence._CF:
00020 PV += (CF or 0.0) * ((args._irate / 100.0 + 1) ** (-t))
00021 t += 1
00022
00023
00024
00025
00026
00027
00028
00029
00030 response = response.__class__(PV)
00031 return request,response
00032
00033
00034
00035 if __name__ == "__main__" :
00036 port = int(sys.argv[1])
00037 AsServer(port, (Service('test'),))