2017-04-13 77 views
0

在CXML如果發件人的憑據是不正確的,然後在我的CXML我送這是一個響應返回給cXML的職位的發件人:在cXML中返回不同的狀態碼是否也必須發回HTTP狀態碼?

<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還行嗎?

+0

誰是客戶端(接收器)回覆,它們是否也期待一個''成功案例的迴應? – selbie

+0

@selbie是的,他們這樣做,它是通過cxml發送訂單的客戶 – YdB

回答

2

當它在cxml User Guide CXML錯誤處理被提及爲在http(傳輸層)的錯誤消息的頂部,可以看到它們作爲功能錯誤所以仍帶有HTTP 200

3.1.9.1回覆狀態

由於cXML在大多數情況下分層位於HTTP之上,因此傳輸會處理許多錯誤(如 HTTP 404/Not Found)。所有傳輸錯誤 應被視爲瞬態,客戶端應該重試,就好像已收到一個 cXML 500範圍狀態碼。所有HTTP回覆 不包含有效的cXML內容,包括HTTP 404 /未找到和 HTTP 500 /內部服務器錯誤狀態代碼,均被視爲傳輸 錯誤。其他常見的傳輸問題包括超時,TCP錯誤 (例如「連接被拒絕」)和DNS錯誤(例如「主機 未知」)。在解析請求文檔中的驗證錯誤 通常會導致400範圍內的cXML永久性錯誤,最好是不可接受的。

在你的情況,你想與

  • HTTP 200/OK的回答
  • cXML的401 /未經授權