在CXML中,如果发件人凭据不正确,那么在我的cxml中,我将其作为响应发送回cXML帖子的发件人:

<Status code="401" text="Unauthorized ">Credentials provided in the Request (the Sender element) were not recognized by the server.</Status>


根据cXML,这是正确的。但是我还需要将HTTP状态代码更改为401还是200 OK就足够了?

最佳答案

正如cxml User Guide中提到的,cxml错误处理位于http(传输层)错误消息的顶部,您可以将它们视为功能错误,因此仍使用HTTP 200进行答复


  3.1.9.1状态
  
  由于在大多数情况下,cXML位于HTTP之上,因此会出现许多错误(例如
  HTTP 404 /未找到)由传输处理。所有运输错误
  应该被视为暂时的,客户端应重试,就像
  已收到cXML 500范围状态代码。所有HTTP回复
  不包含有效的cXML内容,包括HTTP 404 / Not found和
  HTTP 500 /内部服务器错误状态码,被视为传输
  错误。其他常见的传输问题包括超时,TCP错误
  (例如“拒绝连接”)和DNS错误(例如“主机”
  未知”)。解析请求文档时出现验证错误
  通常会导致cXML永久错误在400范围内,最好
  406 /不可接受。


您的情况下,您想回覆


HTTP 200 /正确答案
cXML 401 /未经授权

10-07 22:32