2016-11-23 93 views
2

我有以下代码:通话功能,Python的

import logging 
logging.basicConfig(level=logging.INFO) 

logging.getLogger('suds.client').setLevel(logging.DEBUG) 

from suds.client import Client 
url = 'https://webpay3gint.transbank.cl/WSWebpayTransaction/cxf/WSWebpayService?wsdl' 

client = Client(url) 

print client 

将会产生以下的输出:

Service (WSWebpayServiceImplService) tns="http://service.wswebpay.webpay.transbank.com/" 
    Prefixes (1) 
     ns0 = "http://service.wswebpay.webpay.transbank.com/" 
    Ports (1): 
     (WSWebpayServiceImplPort) 
     Methods (3): 
      acknowledgeTransaction(xs:string tokenInput,) 
      getTransactionResult(xs:string tokenInput,) 
      initTransaction(wsInitTransactionInput wsInitTransactionInput,) 
     Types (14): 
      acknowledgeTransaction 
      acknowledgeTransactionResponse 
      cardDetail 
      getTransactionResult 
      getTransactionResultResponse 
      initTransaction 
      initTransactionResponse 
      transactionResultOutput 
      wpmDetailInput 
      wsInitTransactionInput 
      wsInitTransactionOutput 
      wsTransactionDetail 
      wsTransactionDetailOutput 
      wsTransactionType 

正如你可以看到,一些方法(initTransaction)使用自定义类型(wsInitTransactionInput),如何创建该自定义类型的元素,以便能够调用initTransaction()?

回答

1

解决的办法是写:

object = client.factory.create('wsInitTransactionInput') 
client.service.initTransaction(object) 

而且它是泡沫文档。