是否期望通过HTTP的SOAP端点返回除200和500之外的任何状态代码?我有一个SOAP端点,该端点具有一些业务逻辑以在请求太多时拒绝请求。我想知道在这种情况下正确的HTTP响应代码是什么-500或429? SOAP specification对我来说似乎很模糊:
SOAP HTTP遵循以下HTTP状态代码的语义: 在HTTP中传达状态信息。例如,状态为2xx 代码指示客户端的请求包括SOAP组件 已被成功接收,理解和接受等。
如果在处理请求时出现SOAP错误,则SOAP HTTP 服务器必须发出HTTP 500“内部服务器错误”响应,并且 在响应中包含SOAP消息,其中包含SOAP Fault元素 (请参阅第4.4节)指示SOAP处理错误。
答案 0 :(得分:3)
简而言之,SOAP使用HTTP / HTTPS作为传输。它未绑定到HTTP / S。 SOAP也可以使用SMTP和JMS进行传输。是的,您可以通过电子邮件进行SOAP。
提到的200和500错误代码只是让SOAP知道消息包含成功或失败SOAP请求的标准方法。因此,我将使用500与标准SOAP错误中记录的错误一起使用。