我是Python的新手,我之前没有使用过Amadeus API, 我试图从Amadeus(http://webservices.amadeus.com/)soap API建立连接,我有.wsdl文件,我想发送请求并使用python获取响应。 我看过SOAPpy,suds,并尝试使用,就像这个例子:
sending a soap request from python
但是,如果请求是如何获取响应数据,我无法确定请求是否正在服务器上。
请提前帮助我。
答案 0 :(得分:0)
如果为传输库启用调试日志记录。
import logging
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.transport.http').setLevel(logging.DEBUG)
您将能够在日志输出中看到类似的内容:
DEBUG:suds.transport.http:sending:
URL: http://someurl
HEADERS: {'SOAPAction': '"http://blablabla/identityCheck"', 'Content-Type': 'text/xml; charset=utf-8', 'Content-type': 'text/xml; charset=utf-8', 'Soapaction': '"http://blablabla/blablabla"'}
MESSAGE: <xml......>
DEBUG:suds.transport.http:received:
CODE: 200
HEADERS: {'header1': 'blablabla'}
MESSAGE: <xml......>
此外,您还可以打印出服务结果对象。这假设我在端点中有一个名为identityCheck的方法,而客户作为输入。
client = Client(wsdl_url, location=endpoint_url)
customer = client.factory.create('customer')
customer.userId = 'A'
customer.password = 'B'
result = client.service.identityCheck(customer)
print result