pp108 : Interceptor

Interceptor

This topic provides an overview about Interceptors


Universal Description, Discovery and Integration (UDDI) is an XML and SOAP based specification for publishing and locating information about Web services. UDDI also defines a set of Application Programming Interfaces (APIs) that can be used by applications and services to interact with UDDI data directly. The UDDI connector in Process Platform is used to connect to and browse through the UDDI business registry (or UBR), to locate and consume external Web services.

External Web services that are identified in this manner can be used by Process Platform, by generating Web service operations for them. These operations contain implementation and interface, using which they communicate with external or internal Web services. The implementation may contain User Credentials, Service URIs, Authentication Type and so on. However, few external web services may require additional information or customizations from the user. Hence, the SOAP request must be appended or customized with this data, before it is sent out to the External Web Service Provider or the host.

Process Platform provides a feature to manipulate the XML based SOAP request and SOAP response, HTTP Request and HTTP Response, service URI of the external web service host, authentication information to connect to the external web service host . This feature is referred asInterceptorthat intercepts a SOAP request and is associated with the implementation of a method. The Interceptor essentially takes the form of an API which is invoked whenever a SOAP request is sent.
Below is the sample implementation with an interceptor:

<implementation type="Invoke">
    <serviceuri>http://d-sxcsrv.nl.mycomp.com:1080/sap/bc/soap/rfc</serviceuri>
    <soapaction>http://www.sap.com/Z_PORTAL_GET_CUSTOMER_ADDRES</soapaction>
    <authenticationType>Anonymous</authenticationType>
    <interceptor>
        <class>com.cordys.project.mycomp.uddi.MyInterceptor</class>
        <myparam>3</myparam>
    </interceptor>
</implementation>


Refer to Java SDK for information about the related APIs.