在阅读SOAP 1.1规范之后,它指出SOAP Fault应该在通过http绑定时返回http 500错误代码,因此当抛出SoapException时,WCF返回一个http 500错误代码。
现在,我正在寻找一些返回功能性肥皂错误消息以及何时返回SOAP Fault的最佳实践。
由于输入消息包含一些功能错误,500 SOAP Fault或200 Soap响应包含一些错误消息,因此在处理消息时发生功能错误时,您会返回什么?
答案 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状态代码 响应包络是一个错误。