在cXML中返回不同的状态码,我还必须发回HTTP状态码吗?

时间:2017-04-13 05:07:38

标签: java cxml

在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就足够了?

1 个答案:

答案 0 :(得分:2)

正如在cxml User Guide中提到的,cxml错误处理位于http(传输层)错误消息之上,您可以将它们视为功能错误,因此您仍然可以使用HTTP 200回复​​

  

3.1.9.1状态

     

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

在您的情况下,您想要回复

  • HTTP 200 / OK回答
  • cXML 401 /未经授权