Web服务的错误报告机制:错误消息处理器和SOAP服务

日期: 2010-09-13 作者:Bill Brogden翻译:李松 来源:TechTarget中国 英文

在《Web服务的错误报告机制:REST和HTTP响应状态码》中,我们介绍了REST和HTTP响应状态码主要分为五类以及常见的一些客户端错误码和HTTP1.1的标准解释和可能的原因,下面我们将继续为您介绍错误消息处理器和SOAP服务。   错误消息处理器   更容易让人产生混乱的事情是,一些浏览器,比如微软的Internet Explorer有一个“显示用户友好的HTTP错误信息”选项。当设置了这个选项时,实际的错误消息,或者一个或许有用的服务器实际发生的栈调用过程,就不会显示出来。   如果你要为RESTful服务开发定制化的客户软件,在处理错误码时,你应该检查响应的Content-Type。

……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

《Web服务的错误报告机制:REST和HTTP响应状态码》中,我们介绍了REST和HTTP响应状态码主要分为五类以及常见的一些客户端错误码和HTTP1.1的标准解释和可能的原因,下面我们将继续为您介绍错误消息处理器和SOAP服务。

  错误消息处理器

  更容易让人产生混乱的事情是,一些浏览器,比如微软的Internet Explorer有一个“显示用户友好的HTTP错误信息”选项。当设置了这个选项时,实际的错误消息,或者一个或许有用的服务器实际发生的栈调用过程,就不会显示出来。

  如果你要为RESTful服务开发定制化的客户软件,在处理错误码时,你应该检查响应的Content-Type。举例来说,Amazon S3服务以XML格式发送回非常详细的错误信息,其Content-Type为application/xml。

  SOAP服务

  尽管几乎所有的SOAP服务都采用HTTP传输协议,但SOAP标准从设计上可以使用任何类型的信息传输协议。象RESTful服务一样,最重要的是我们要能够区分请求不能到达服务端的错误和服务本身产生的错误。因为使用HTTP的SOAP客户期望得到的是一个良好定义的XML文档,如果收到服务器的错误消息是一个格式为HTML,文本或非SOAP的XML响应消息体,客户端可能会阻塞。另一个需要注意的可能性是,客户端软件的错误报告看起来似乎是来自服务端的错误,但实际上却是创建SOAP请求时发生的错误。

  SOAP标准的制定者在定义错误报告方面做了很多工作,因此,如果你得到了SOAP的一个错误响应,应该是非常有用的。每个SOAP服务必须返回一个消息体,其中包含一个“Fault”元素,在其中包含了更详细的信息元素:除了“Reason”元素可以提供了一个人们可读的信息外,其中还可以包含任意数目的元素可供计算机来处理其错误原因。

相关推荐