我正在使用suds来调用Windows / WCF服务,如下所示:
# Setting up my client
client = Client(wsdl, transport = my_transport, location = url, faults = True, headers = my_soap_action_header, cache = None, wsse = my_http_security)
而且,我得到的答案是这样的:
(Link){ Id = 12345 Type = "SomeType" }
通过与Web服务的开发人员交谈,我知道返回值是返回的对象的ID和类型,否则会引发异常。
那就是说,我想知道如何询问suds客户端的正常http响应代码(例如200)。
答案 0 :(得分:5)
我觉得这是一个老问题,但如果其他人偶然发现这个问题,我会提供答案。
您可以使用faults = False
设置客户端,然后在发生错误时不会抛出webFaults(因此您必须实现自己的错误处理)而不是返回带有
(<status>, <returned-value>)
例如
client = client(url, faults=False)
result = client.service.addPerson(person)
print result
( 200, person ...)
希望有所帮助(如果你回头看这里)