View Source

Interceptors can be defined to inject some post or pre-processing in the service provider processing or service consumer processing.

Using interceptor is very sensitive and must be manipulated only by power users. A non properly coded interceptor engaged in a component can lead to uncontrolled behaviors, out of the standard process.

Example of an interceptor configuration:

{code:lang=xml}
<?xml version="1.0" encoding="UTF-8"?>
<jbi:jbi xmlns:jbi="http://java.sun.com/xml/ns/jbi" xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5">
<jbi:services>
<jbi:provides|consumes>
<!--...-->
<petalsCDK:su-interceptors>
  <petalsCDK:send>
    <petalsCDK:interceptor name="myInterceptorName">
      <petalsCDK:param name="myParamName">myParamValue</petalsCDK:param>
      <petalsCDK:param name="myParamName2">myParamValue2</petalsCDK:param>
</petalsCDK:interceptor>
  </petalsCDK:send>
  <petalsCDK:accept>
    <petalsCDK:interceptor name="myInterceptorName">
      <petalsCDK:param name="myParamName">myParamValue</petalsCDK:param>
    </petalsCDK:interceptor>
  </petalsCDK:accept>
  <petalsCDK:send-response>
    <petalsCDK:Interceptor name="myInterceptorName">
      <petalsCDK:param name="myParamName">myParamValue</petalsCDK:param>
    </petalsCDK:Interceptor>
  </petalsCDK:send-response>
  <petalsCDK:accept-response>
    <petalsCDK:Interceptor name="myInterceptorName">
       <petalsCDK:param name="myParamName">myParamValue</petalsCDK:param>
    </petalsCDK:Interceptor>
  </petalsCDK:accept-response>
</petalsCDK:su-interceptors>
<!--...-->
</jbi:provides|consumes>
<!--...-->
</jbi:services>
</jbi:jbi>
{code}

{center}
*Interceptors configuration for SU (CDK)*
{center}

{table-plus:columnAttributes=,,style="text-align:center;",style="text-align:center;"}

|| Parameter || Description || Default || Required ||
| send | Interceptor dedicated to send phase, for an exchange sent by a consumer | \- | No |
| accept | Interceptor dedicated to receive phase, for an exchange received by a provider | \- | No |
| send-response | Interceptor dedicated to send phase, for an exchange (a response) received by a consumer | \- | No |
| accept-response | Interceptor dedicated to receive phase, for an exchange sent (a response) by a provider | \- | No |
| interceptor - name | Logical name of the interceptor instance defined at component level, see CDK Component Interceptor configuration. | \- | Yes |
| param\[\] - name | The name of the parameter to use for the interceptor for this SU | \- | No |
| param\[\] | The value of the parameter to use for the interceptor for this SU | \- | No |
{table-plus}