第二十二章 SOAP 错误处理 - SOAP 1.1 故障
SOAP 1.1 故障
本节提供有关 %SOAP.Fault
的信息,该信息表示 SOAP 1.1
错误。本节包括以下内容:
-
SOAP 1.1
错误示例 - 有关
%SOAP.Fault
的信息,代表SOAP 1.1
错误
SOAP
错误示例
作为参考,这里有一个 SOAP 1.1
错误的示例,其中包括 SOAP
信封:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV='https://schemas.xmlsoap.org/soap/envelope/'
xmlns:xsi='https://www.w3.org/2001/XMLSchema-instance'
xmlns:s='https://www.w3.org/2001/XMLSchema'
xmlns:flt="https://myfault.org" >
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>Division error</faultstring>
<detail><mymessage>Division error detail</mymessage></detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
%SOAP.Fault
属性
将 SOAP 1.1
故障表示为 %SOAP.Fault
的一个实例,它具有以下属性:
detail
在 SOAP
故障的 <detail>
元素中使用。使用它来指定有关故障原因的信息。
如果指定,此参数应为包含可在 <detail>
元素内使用的有效 XML
的字符串。不会验证提供的字符串是否有效;检查这一点是您的应用程序的责任。
faultcode
在 SOAP
错误的 <faultcode>
元素中使用。将此属性设置为 SOAP
错误代码的宏中列出的 SOAP 1.1
宏之一。
faultstring
在 SOAP
错误的 <faultstring>
元素中使用。指定一个字符串来指示错误的原因,以便用户查看。
faultactor
指定导致故障发生的 SOAP
消息路径上的 SOAP
节点的 URI
。
如果 SOAP
消息经过 SOAP
消息路径中的多个节点,并且客户端需要知道哪个节点导致错误,则此功能非常有用。讨论这个高级主题超出了本文档的范围。
faultPrefixDefinition
指定添加到 SOAP
错误信封的命名空间前缀声明。使用以下格式的值:
xmlns:prefix="namespace"
其中 prefix
是前缀,namespace
是命名空间 URI
。
set fault.faultPrefixDefinition = "xmlns:FLT=""https://myfault.com"""
类中的 %SOAP.Fault
还提供了 AsString()
方法,该方法以字符串形式返回故障对象。