63.3. 消息绑定

SOAP

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

表 63.6. 入站 SOAP 拦截器

阶段描述

CheckFaultInterceptor

POST_PROTOCOL

检查消息是否为失败消息。如果消息是容错消息,则正常处理会被中止,并且启动错误处理。

MustUnderstandInterceptor

PRE_PROTOCOL

进程必须理解标头。

RPCInInterceptor

UNMARSHAL

Unmarshals rpc/literal 消息。如果消息是 bare,则消息会传递到 BareInInterceptor 对象,以反序列化消息部分。

ReadsHeadersInterceptor

READ

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

SoapActionInInterceptor

READ

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

SoapHeaderInterceptor

UNMARSHAL

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

AttachmentInInterceptor

RECEIVE

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

DocLiteralInInterceptor

UNMARSHAL

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

StaxInInterceptor

POST_STREAM

从消息中创建 XMLStreamReader 对象。

URIMappingInterceptor

UNMARSHAL

处理 HTTP GET 方法的处理。

SwAInInterceptor

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 绑定时,列出添加到端点入站消息链的拦截器。

表 63.8. 入站 XML 拦截器

阶段描述

AttachmentInInterceptor

RECEIVE

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

DocLiteralInInterceptor

UNMARSHAL

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

StaxInInterceptor

POST_STREAM

从消息中创建 XMLStreamReader 对象。

URIMappingInterceptor

UNMARSHAL

处理 HTTP GET 方法的处理。

XMLMessageInInterceptor

UNMARSHAL

解除 XML 消息。

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

表 63.9. 出站 XML 拦截器

阶段描述

StaxOutInterceptor

PRE_STREAM

从消息中创建 XMLStreamWriter 对象。

WrappedOutInterceptor

MARSHAL

嵌套出站消息参数。

XMLMessageOutInterceptor

MARSHAL

marshals 传输消息。

CORBA

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

表 63.10. 入站 CORBA 拦截器

阶段描述

CorbaStreamInInterceptor

PRE_STREAM

对 CORBA 消息进行反序列化。

BareInInterceptor

UNMARSHAL

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

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

表 63.11. 出站 CORBA 拦截器

阶段描述

CorbaStreamOutInterceptor

PRE_STREAM

序列化消息。

BareOutInterceptor

MARSHAL

写入消息部分。

CorbaStreamOutEndingInterceptor

USER_STREAM

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