代码之家  ›  专栏  ›  技术社区  ›  Tim Mahy

我的WCF Web服务是否应返回500或200 HTTP代码(SOAP故障/功能返回消息)

  •  3
  • Tim Mahy  · 技术社区  · 14 年前

    在读取SOAP1.1规范之后,它声明当通信通过HTTP绑定时,SOAP错误应返回HTTP 500错误代码,因此当抛出SOAPException时,WCF返回HTTP 500错误代码。

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

    当处理消息时出现功能错误时,由于输入消息包含一些功能错误、500个SOAP错误或200个包含一些错误消息的SOAP响应,你们会返回什么?

    2 回复  |  直到 7 年前
        1
  •  1
  •   marc_s Anurag    14 年前

    更新:

    当一个 功能错误发生在 正在处理消息,因为 输入消息包含一些功能 错误、500个SOAP错误或200个SOAP 包含一些错误消息的响应 ?

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

    如果必要的话,我会让WCF处理所有必要的详细信息,包括是否以及何时返回什么HTTP错误代码。WCF已经为您做了所有这些——您只需在服务代码中抛出一个SOAP错误,这就是您所需要的。

        2
  •  1
  •   Vadzim    7 年前

    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:如果 响应信封是一个错误。