第 62 章 Apache CXF 消息处理阶段
入站阶段
表 62.1 “入站消息处理阶段” 列出入站拦截器链中的阶段。
阶段 | 描述 |
---|---|
RECEIVE | 执行特定于传输的处理,如确定二进制附加的 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 “入站消息处理阶段” 列出入站拦截器链中的阶段。
阶段 | 描述 |
---|---|
SETUP | 执行链中后续阶段需要的设置。 |
PRE_LOGICAL | 对从应用程序级别传递的未绑定数据执行处理。 |
USER_LOGICAL | |
POST_LOGICAL | |
PREPARE_SEND | 打开连接,以在线上写入消息。 |
PRE_STREAM | 执行必要的处理,以准备条目进入数据流中的消息。 |
PRE_PROTOCOL | 开始处理协议特定信息。 |
写 | 写入协议消息。 |
PRE_MARSHAL | marshals 消息。 |
MARSHAL | |
POST_MARSHAL | |
USER_PROTOCOL | 处理协议消息。 |
POST_PROTOCOL | |
USER_STREAM | 处理字节级消息。 |
POST_STREAM | |
SEND | 发送消息并关闭传输流。 |
出站拦截器链具有一组镜像(mirror)的结束阶段,它们的名称会附加 _ENDING
。结束阶段是使用拦截器,它们需要在数据使用线路写入前发生一些终端操作。