3

我正在使用 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)。

4

1 回答 1

5

我认为这是一个老问题,但如果其他人偶然发现这个问题,我会提供答案。

您可以使用它设置客户端,faults = False然后在发生错误时不会抛出 webFaults(因此您必须实现自己的错误处理),而是返回一个元组

(<status>, <returned-value>)

例如(取自suds 文档

client = client(url, faults=False)
result = client.service.addPerson(person)
print result

( 200, person ...)

希望有帮助(如果你回头看这里)

于 2011-11-29T11:32:12.273 回答