第 62 章 Apache CXF 消息处理阶段

入站阶段

表 62.1 “入站消息处理阶段” 列出入站拦截器链中可用的阶段。

表 62.1. 入站消息处理阶段

阶段描述

接收

执行传输特定处理,比如为二进制附加确定 MIME 边界。

PRE_STREAM

处理传输接收的原始数据流。

USER_STREAM

POST_STREAM

READ

确定请求是否为 SOAP 或 XML 信息,构建会添加正确的拦截器。SOAP 邮件标题也在此阶段处理。

PRE_PROTOCOL

执行协议级别处理。这包括处理 WS-* 标头和 SOAP 消息属性的处理。

USER_PROTOCOL

POST_PROTOCOL

UNMARSHAL

将消息数据解放到应用程序级别代码使用的对象中。

PRE_LOGICAL

处理未汇总的消息数据。

USER_LOGICAL

POST_LOGICAL

PRE_INVOKE

调用

将消息传递给应用程序代码。在服务器端,在此阶段调用服务实施。在客户端,响应被移回应用程序。

POST_INVOKE

调用出站拦截器链。

出站阶段

表 62.2 “入站消息处理阶段” 列出入站拦截器链中可用的阶段。

表 62.2. 入站消息处理阶段

阶段描述

设置

在链中执行之后阶段所需的任何集合。

PRE_LOGICAL

对从应用程序级别传递的未汇总的数据执行处理。

USER_LOGICAL

POST_LOGICAL

PREPARE_SEND

打开连接以在线路上写入消息。

PRE_STREAM

执行所需的处理,以将条目的消息准备到数据流中。

PRE_PROTOCOL

开始处理协议特定信息。

写入协议消息。

PRE_MARSHAL

放大消息。

MARSHAL

POST_MARSHAL

USER_PROTOCOL

处理协议消息。

POST_PROTOCOL

USER_STREAM

处理字节级别消息。

POST_STREAM

SEND

发送消息并关闭传输流。

重要

出站拦截器链具有一组镜像结束阶段,其名称会附加有 _ENDING。结束阶段使用拦截器,要求在有线上写入数据前执行一些终端操作。