我正在使用 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 service的开发者交流得知,返回值是返回对象的ID和类型,否则会抛出异常。
就是说,我想知道如何询问 suds 客户端以获得正常的 http 响应代码(例如 200)。
最佳答案
我认为这是一个老问题,但如果其他人偶然发现这个问题,我会提供答案。
您可以使用 faults = False
设置客户端,这样在发生错误时不会抛出 webFaults(因此您必须实现自己的错误处理),而是返回一个包含
(<status>, <returned-value>)
例如(取自suds documentation)
client = client(url, faults=False)
result = client.service.addPerson(person)
print result
( 200, person ...)
希望对您有所帮助(如果您回头看这里)
关于wcf - 使用故障时如何从 suds 客户端获取 http 响应代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5589048/