View Source

{anchor:cdk-su-interceptor-cfg}
Interceptors can be defined to inject some post or pre-processing in the service 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:provides>
<!--...-->
<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>
<!--...-->{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 Interceptor configuration|#cdk-component-interceptor-cfg]. | \- | 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}