我的WCF Web服务应该返回500或200 http代码(soap fault / functional return message)

时间:2010-04-29 07:37:36

标签: wcf http soap

在阅读SOAP 1.1规范之后,它指出SOAP Fault应该在通过http绑定时返回http 500错误代码,因此当抛出SoapException时,WCF返回一个http 500错误代码。

现在,我正在寻找一些返回功能性肥皂错误消息以及何时返回SOAP Fault的最佳实践。

由于输入消息包含一些功能错误,500 SOAP Fault或200 Soap响应包含一些错误消息,因此在处理消息时发生功能错误时,您会返回什么?

2 个答案:

答案 0 :(得分:1)

<强>更新

  

当你的时候你会回来的   发生功能错误   因为这个而处理消息   输入消息包含一些功能   错误,500 SOAP Fault或200 Soap   包含一些错误消息的响应   ?

如果输入消息无效并阻止您的服务执行其预期的工作,那么是 - 这显然构成了一个例外,因此我会在这种情况下返回SOAP错误(类似FaultException<InvalidInputParameters>)。

如果需要,我会让WCF处理是否以及何时返回http错误代码的所有必要的血腥细节。 WCF已经为您完成了所有这些 - 您只需在服务代码中抛出一个SOAP错误,这就是您的全部。

答案 1 :(得分:1)

http://www.ws-i.org/Profiles/BasicProfile-1.1-2006-04-10.html#HTTP_Server_Error_Status_Codes

  

3.4.7 HTTP服务器错误状态代码

     

HTTP使用5xx系列状态代码来指示由于服务器错误而导致的失败。

     

R1126:如果是,实例必须返回“500内部服务器错误”HTTP状态代码   响应包络是一个错误。