第 62 章 Apache CXF 消息处理阶段
入站阶段
表 62.1 “入站消息处理阶段” 列出入站拦截器链中可用的阶段。
阶段 | 描述 |
---|---|
接收 | 执行特定于传输的处理,如确定二进制附件的 MIME 边界。 |
PRE_STREAM | 处理传输接收的原始数据流。 |
USER_STREAM | |
POST_STREAM | |
READ | 确定请求是否为 SOAP 或 XML 消息,并构建会添加正确的拦截器。此阶段也会处理 SOAP 消息标头。 |
PRE_PROTOCOL | 执行协议级别处理。这包括处理 WS114 标头和 SOAP 消息属性的处理。 |
USER_PROTOCOL | |
POST_PROTOCOL | |
UNMARSHAL | 将消息数据解压缩到应用级别代码使用的对象中。 |
PRE_LOGICAL | 处理 unmarshalled 消息数据。 |
USER_LOGICAL | |
POST_LOGICAL | |
PRE_INVOKE | |
调用 | 将消息传递给应用程序代码。在服务器端,服务实施在此阶段被调用。在客户端,响应被移回到应用程序。 |
POST_INVOKE | 调用出站拦截器链。 |
出站阶段
表 62.2 “入站消息处理阶段” 列出入站拦截器链中可用的阶段。
阶段 | 描述 |
---|---|
设置 | 执行链中后续阶段所需的任何集合。 |
PRE_LOGICAL | 对从应用程序级别传递的 unmarshalled 数据执行处理。 |
USER_LOGICAL | |
POST_LOGICAL | |
PREPARE_SEND | 打开连接,以在 wire 上写入消息。 |
PRE_STREAM | 执行所需的处理,以准备消息进入数据流中。 |
PRE_PROTOCOL | 开始处理协议特定信息。 |
写 | 编写协议消息。 |
PRE_MARSHAL | marshals 消息。 |
MARSHAL | |
POST_MARSHAL | |
USER_PROTOCOL | 处理协议消息。 |
POST_PROTOCOL | |
USER_STREAM | 处理字节级消息。 |
POST_STREAM | |
SEND | 发送消息并关闭传输流。 |
出站拦截器链有一组镜像结束阶段,其名称附加了 _ENDING
。结束阶段使用拦截器,在数据在线上写入前需要进行一些终端操作。