1
在我的一个应用程序中,我正在使用GAE python中的SUDS WSDL(SOAP)Web服务。SUDS:在Client.service中传递数组参数方法:GAE Python
我PY代码:
url = 'http://203.215.51.43/Gateway/Execute?WSDL'
client = Client(url)
print client
所以打印在服务器控制台
Suds (https://fedorahosted.org/suds/) version: 0.4 GA build: R699-20100913
Service (GatewayService) tns="urn:fks:jcaps:gateway"
Prefixes (2)
ns0 = "http://fks.com/gtwy"
ns1 = "urn:fks:jcaps:gateway:JavaException"
Ports (1):
(Execute)
Methods (1):
redeem(xs:string SessionId, xs:string TerminalId, xs:string StoreCod
e, xs:string CashMemoNo, xs:string CashMemoDate, xs:double InvoiceAmount, xs:str
ing TimeStamp, xs:string CashierId, xs:string MerchantId, ns0:SPCReqDtls SPCReqD
tls, ns0:VoucherReqDtls[] VoucherReqDtls, ns0:CardReqDtls CardReqDtls,)
Types (1):
ns1:JavaExceptionType
其实很能通字符串,赎回方法双类型值,但不是阵列/列表类型,
result = client.service.redeem(SessionId=result['SessionId'], StoreCode='4739', TerminalId='T1081', TimeStamp='01-01-2011 01:01:00.000')
但我不能够在这里通过VoucherReqDtls阵列
这个VoucherReqDtls的WSDL的XML代码如下,
<!--Zero or more repetitions:-->
<gtwy:VoucherReqDtls>
<gtwy:VoucherType>GV</gtwy:VoucherType>
<!--1 or more repetitions:-->
<gtwy:VoucherReq>
<gtwy:VoucherNo>344234242</gtwy:VoucherNo>
</gtwy:VoucherReq>
<gtwy:VoucherReq>
<gtwy:VoucherNo>675685858</gtwy:VoucherNo>
</gtwy:VoucherReq>
</gtwy:VoucherReqDtls>
所以,我怎样才能通过VoucherReqDtls阵列/列表兑换方法,这里VoucherType是GV和计数凭证号可能不只一个。
感谢buddy..its真正起作用罚款字符串,双重类型。&但仍然无法根据预期的xml(如任务所示)自身构建/设计** VoucherReqDtls ** list/array。 – 2012-08-08 15:05:34
是啊似乎有一些类型丢失,也许WSDL在它的删除不正确?我会看看使用一些肥皂工具,看看我能做些什么 – 2012-08-08 15:08:31
[this](http://203.215.51.43/Gateway/Execute?WSDL)是我的WSDL服务。 &一件事,我也通过SOAPUI进行了测试。它在那里工作的很好..只是担心兑换方法中** VoucherReqDtls **数组的确切结构。 – 2012-08-08 15:12:51