wcf - 使用故障时如何从 suds 客户端获取 http 响应代码

标签 wcf soap python-2.6 suds

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

相关文章:

.net - 将数据从一个 .NET 应用程序传递到另一个

c# - 通过 WCF 提供整个库的功能

java - https 网络服务调用中的 SocketException

java - 向 SOAP 消息添加内容(基本)

python - 删除 XML 字符串中的空格

Python 2.6 到 2.5 速查表

object - flask SqlAlchemy : TypeError: 'Class' object is not iterable

c# - 在 Windows 服务中安装和运行 WCF 服务

只读字段的WCF DataMember属性?

java - 尝试在 java 中使用 TLSv2 连接到 ssl url 时出现错误 "handshake_failure"