このコンテンツは選択した言語では利用できません。

Chapter 32. Using Message Interceptors


Abstract

You can use low-level message interceptors to process messages before they are delivered to your endpoint's service implementation.
Important
The Java Business Integration components of Red Hat JBoss Fuse are considered deprecated. You should consider migrating any JBI applications to OSGi.

Overview

Interceptors are a low-level pieces of code that process messages as they are passed between the message channel and service's implementation. They have access to the raw message data and can be used to process SOAP action entries, process security tokens, or correlate messages. Interceptors are called in a chain and you can configure what interceptors are used at a number of points along the chain.

Configuring an endpoint's interceptor chain

A Apache CXF binding component endpoint's interceptor chain has four points at which you can insert an interceptor:
in interceptors
On consumer endpoints the in interceptors process messages when they are received from the external endpoint.
On provider endpoints the in interceptors process messages when they are received from the NMR.
in fault interceptors
The in fault interceptors process fault messages that are generated before the service implementation gets called.
out interceptors
On consumer endpoints the out interceptors process messages as they pass from the service implementation to the external endpoint.
On provider endpoints the out interceptors process messages as they pass from the service implementation to the NMR.
out fault interceptors
The out fault interceptors process fault messages that are generated by the service implementation or by an out interceptor.
An endpoint's interceptor chain is configured using children of its consumer element or provider element. Table 32.1, “Elements Used to Configure an Endpoint's Interceptor Chain” lists the elements used to configure an endpoint's interceptor chain.
Expand
Table 32.1. Elements Used to Configure an Endpoint's Interceptor Chain
NameDescription
inInterceptors Specifies a list of interceptors that process incoming messages.
inFaultInterceptors Specifies a list of interceptors that process incoming fault messages.
outInterceptors Specifies a list of interceptors that process outgoing messages.
outFaultInterceptors Specifies a list of interceptors that process outgoing fault messages.
Example 32.1, “Configuring an Interceptor Chain” shows a consumer endpoint configured to use the Apache CXF logging interceptors.

Example 32.1. Configuring an Interceptor Chain

<cxfbc:consumer ...>
  ...
  <cxfbc:inInterceptors>
    <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
  </cxfbc:inInterceptors>
  <cxfbc:outInterceptors>
    <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
  </cxfbc:outInterceptors>
  <cxfbc:inFaultInterceptors>
    <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
  </cxfbc:inFaultInterceptors>
  <cxfbc:outFaultInterceptors>
    <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
  </cxfbc:outFaultInterceptors>
</cxfbc:consumer>
Copy to Clipboard Toggle word wrap

Implementing an interceptor

You can implement a custom interceptor by extending the org.apache.cxf.phase.AbstractPhaseInterceptor class or one of its sub-classes. Extending AbstractPhaseInterceptor provides you with access to the generic message handling APIs used by Apache CXF. Extending one of the sub-classes provides you with more specific APIs. For example, extending the AbstractSoapInterceptor class allows your interceptor to work directly with the SOAP APIs.

More information

For more information about writing Apache CXF interceptors see the Apache CXF documentation.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat