我的WCF Web服务是否应该返回500或200 http代码(soap错误/功能性返回消息)
在阅读了SOAP1.1规范之后,它指出当通信通过http绑定时,SOAP错误应该返回http 500错误代码,因此当抛出SoapException时,WCF返回http 500错误代码 现在,我正在寻找一些最佳实践,以确定何时返回功能性soap错误消息以及何时返回soap错误我的WCF Web服务是否应该返回500或200 http代码(soap错误/功能性返回消息),wcf,http,soap,Wcf,Http,Soap,在阅读了SOAP1.1规范之后,它指出当通信通过http绑定时,SOAP错误应该返回http 500错误代码,因此当抛出SoapException时,WCF返回http 500错误代码 现在,我正在寻找一些最佳实践,以确定何时返回功能性soap错误消息以及何时返回soap错误 由于输入消息包含一些功能错误、500 SOAP错误或200 SOAP响应包含一些错误消息,所以在处理消息时发生功能错误时,你们会返回什么?更新: 当有人来的时候你们会回来什么 运行时发生功能错误 正在处理消息,因为 输入消
由于输入消息包含一些功能错误、500 SOAP错误或200 SOAP响应包含一些错误消息,所以在处理消息时发生功能错误时,你们会返回什么?更新: 当有人来的时候你们会回来什么 运行时发生功能错误 正在处理消息,因为 输入消息包含一些函数 错误、500 SOAP错误或200 SOAP错误 包含一些错误消息的响应 ? 如果输入消息无效并阻止您的服务执行其预期任务,那么是-这显然构成了一个异常,因此在这种情况下我将返回一个SOAP错误(类似于
FaultException
)
我会让WCF处理所有必要的血淋淋的细节,如有必要,包括是否以及何时返回http错误代码。WCF已经为您完成了所有这一切——您只需在服务代码中抛出一个SOAP错误,这就是您的全部功能。:
3.4.7 HTTP服务器错误状态代码
HTTP使用5xx系列状态代码表示由于服务器错误而导致的故障
R1126:如果发生以下情况,实例必须返回“500内部服务器错误”HTTP状态代码
响应包络线是一个故障
基于SOAP的服务调用通常不返回HTTP结果代码-->它们也返回HTTP代码,因为它只是一个HTTPpost@TimMahy:我非常怀疑在WCF中对NetCpBinding的SOAP调用是“http post”…@Tim Mahy:我仍然相信你在这里混淆了两件事:SOAP调用不是http post-它们可以通过http传输,允许-但也可以通过TCP/IP本机、UDP-任何传输。WCF REST调用是HTTP POST和GET,但这些REST调用中根本不涉及SOAP。。。。