扫码一下
查看教程更方便
如果在处理过程中发生错误,则对 soap 消息的响应是消息正文中的 soap 故障元素,并将故障返回给 soap 消息的发送者。
soap 错误机制返回有关错误的特定信息,包括预定义的代码、描述和生成错误的 soap 处理器的地址。
fault
块。soap fault 具有以下子元素
序号 | 子元素 | 描述 |
---|---|---|
1 | 它是用于指示一类错误的文本代码。 有关预定义故障代码的列表,请参见下表。 | |
2 | 这是一条解释错误的文本消息。 | |
3 | 它是一个文本字符串,指示谁导致了 fault 。 如果 soap 消息经过 soap 消息路径中的多个节点,并且客户端需要知道哪个节点导致了错误,这将很有用。 不作为最终目的地的节点必须包含一个 faultactor 元素。 | |
4 | 它是用于携带特定于应用程序的错误消息的元素。 详细信息元素可以包含称为详细信息条目的子元素。 |
在描述故障时,必须在故障代码元素中使用下面定义的故障代码值。
序号 | 错误 | 描述 |
---|---|---|
1 | soap-env:versionmismatch | 发现 soap envelope 元素的名称空间无效。 |
2 | soap-env:mustunderstand | 无法理解必须理解属性设置为“1”的 header 元素的直接子元素。 |
3 | soap-env:client | 消息的格式不正确或包含不正确的信息。 |
4 | soap-env:server | 服务器出现问题,因此无法继续发送消息。 |
以下代码是一个示例故障。 客户端请求了一个名为 validatecreditcard
的方法,但服务不支持这种方法。 这表示客户端请求错误,服务器返回以下 soap 响应
soap-env:client
failed to locate method (validatecreditcard) in class (examplescreditcard) at
/usr/local/activeperl-5.6/lib/site_perl/5.6.0/soap/lite.pm line 1555.