63.3. 消息绑定

SOAP

表 63.6 “入站 SOAP 拦截器” 使用 SOAP Binding 时,列出将拦截器添加到端点的入站消息链。

表 63.6. 入站 SOAP 拦截器

阶段描述

CheckFaultInterceptor

POST_PROTOCOL

检查消息是否为 fault 消息。如果消息是错误消息,则正常处理将中止,并且启动错误处理。

MustUnderstandInterceptor

PRE_PROTOCOL

处理必须了解标头。

RPCInInterceptor

UNMARSHAL

Unmarshals rpc/literal 消息。如果消息是裸机,则会将消息传递给 BareInterceptor 对象以反序列化消息部分。

ReadsHeadersInterceptor

READ

解析 SOAP 标头,并将其存储在消息对象中。

SoapActionInInterceptor

READ

解析 SOAP 操作标头并尝试查找操作的唯一操作。

SoapHeaderInterceptor

UNMARSHAL

将映射映射到操作参数的 SOAP 标头绑定到适当的对象。

AttachmentInterceptor

接收

解析 mime boundaries 的 mime 标头,找到 部分并将输入流重置为它,并将其他部分存储在 Attachment 对象的集合中。

DocLiteralInInterceptor

UNMARSHAL

检查 SOAP 正文中的第一个元素,以确定适当的操作并调用数据中读取的数据绑定。

StaxInterceptor

POST_STREAM

从消息创建 XMLStreamReader 对象。

URIMappingInterceptor

UNMARSHAL

处理 HTTP GET 方法的处理。

SwAInterceptor

PRE_INVOKE

为二进制 SOAP 附加创建所需的 MIME 处理程序,并将数据添加到参数列表中。

表 63.7 “出站 SOAP 拦截器” 使用 SOAP Binding 时,列出将拦截器添加到端点的出站消息链。

表 63.7. 出站 SOAP 拦截器

阶段描述

RPCOutInterceptor

MARSHAL

用于传输的 marshals rpc 样式消息.

SoapHeaderOutFilterInterceptor

PRE_LOGICAL

删除只标记为入站的所有 SOAP 标头。

SoapPreProtocolOutInterceptor

POST_LOGICAL

设置 SOAP 版本和 SOAP 操作标头。

AttachmentOutInterceptor

PRE_STREAM

设置附件 marshalers 以及处理消息中可能存在的任何附件所需的 mime 项。

BareOutInterceptor

MARSHAL

写入消息部分。

StaxOutInterceptor

PRE_STREAM

从消息创建 XMLStreamWriter 对象。

WrappedOutInterceptor

MARSHAL

打包出站消息参数。

SoapOutInterceptor

在消息中写入 soap:envelope 元素和标头块的元素。另外,同时为剩余的拦截器写入一个空 soap:body 元素以填充。

SwAOutInterceptor

PRE_LOGICAL

删除所有将打包为 SOAP 附加的二进制数据,并将其存储用于后续处理。

XML

表 63.8 “入站 XML 拦截器” 使用 XML Binding 时,列出将拦截器添加到端点的入站消息链。

表 63.8. 入站 XML 拦截器

阶段描述

AttachmentInterceptor

接收

解析 mime boundaries 的 mime 标头,找到 部分并将输入流重置为它,然后将其他部分存储在 Attachment 对象的集合中。

DocLiteralInInterceptor

UNMARSHAL

检查消息正文中的第一个元素,以确定适当的操作,然后调用数据中读取的数据绑定。

StaxInterceptor

POST_STREAM

从消息创建 XMLStreamReader 对象。

URIMappingInterceptor

UNMARSHAL

处理 HTTP GET 方法的处理。

XMLMessageInInterceptor

UNMARSHAL

解放 XML 消息。

表 63.9 “出站 XML 拦截器” 使用 XML Binding 时,列出将拦截器添加到端点的出站消息链。

表 63.9. 出站 XML 拦截器

阶段描述

StaxOutInterceptor

PRE_STREAM

从消息创建 XMLStreamWriter 对象。

WrappedOutInterceptor

MARSHAL

打包出站消息参数。

XMLMessageOutInterceptor

MARSHAL

放大传输消息。

CORBA

表 63.10 “入站 CORBA 拦截器” 在使用 CORBA Binding 时,列出添加到端点入站消息链的拦截器。

表 63.10. 入站 CORBA 拦截器

阶段描述

CorbaStreamInInterceptor

PRE_STREAM

反序列化 CORBA 消息。

BareInterceptor

UNMARSHAL

对消息部分进行反序列化。

表 63.11 “出站 CORBA 拦截器” 在使用 CORBA Binding 时,列出添加到端点出站消息链的拦截器。

表 63.11. 出站 CORBA 拦截器

阶段描述

CorbaStreamOutInterceptor

PRE_STREAM

对消息进行序列化。

BareOutInterceptor

MARSHAL

写入消息部分。

CorbaStreamOutEndingInterceptor

USER_STREAM

为消息创建一个可流对象,并将其存储在消息上下文中。