English 中文(简体)
休息网络服务错误处理
原标题:Rest WebService error handling
  • 时间:2009-08-24 14:23:05
  •  标签:

我正在利用ResWebservice进行一些基本业务,如创建/研究。 请求xml研究类似情况

<customer> 
    <name/>
  .....
 </customer>

For a successful operation I return the same customer XML with extra fields populated in it(eg. systemId etc which we blank in the request) . with Response.Status=2000

For an unsuccessful operation i return something like this with different error codes . e.g Response.Status = 422(Unprocessable entity) Response.Status= 500(Internal Server Error) and few others..

<errors>
<error> An exception occurred while creating the customer</error>
<error> blah argument is not valid.</error>
</errors>

现在我不清楚,这是向客户发送错误的正确方式。 或许应该站在答复的头脑中。

I will really appreciate any help. Thanks!

最佳回答

我在“请求”或“反应”包装中总结XML。

例如,

<customerrequest>
  <customer>
    ..
  </customer>
</customerrequest>

更重要的是:

<customerresponse>
  <status>success | failure</status>
  <customer> <!-- If success -->
     ...
  </customer>
  <errors> <!-- If failure -->
     <!-- never underestimate the value of having a machine-friendly error code 
          for each possible error, or critical/non-critical errors -->
     <error code="0001">An error occurred</error>
  </errors>
</customerresponse>

这也意味着,随着您的服务成熟,你可以在请求/答复中增加额外的非数据领域。 或参考编号。 或认证细节。

如果你使用SOAP,你可以使用SOAP已经形成的现有错误处理方法,尽管我个人发现这种错误相当有限(我没有深入调查)。

问题回答




相关问题
热门标签