WSRP Consumer portal
Learn how to configure and use a handler on a WSRP Consumer portal.
We can configure handlers for the WSRP Consumer in the web.xml file of the wps.ear portal application.
Starting with CF05, we can register handlers that implement the SOAPHandler interface as an extension of a WSRP extension point. In this case, you do not need to modify the web.xml file of the portal application. For details, read the information in a later section.
Use a handler on a WSRP Consumer portal
We can now use the handler in your Consumer portal
- Create a handler implementation according to the JAX-WS specification. For details about the handler framework, read the JAX-WS specification. For information about using handlers with JAX-WS web services, read the appropriate information in the WebSphere Application Server documentation.
- Provide the handler implementation in the class path of the wps.ear portal application, for example in the portal shared application directory.
- Export the wps.ear portal application. The exported wps.ear file contains a wps.war file, which in turn contains a file named web.xml.
- Modify the web.xml file by adding a handler-chains element to the service reference for which we want to deploy the handler.
- Update the wps.ear portal application.
- Restart your WSRP Consumer portal.
Example
The following samples show excerpts from the file web.xml. The samples contain a handler definition for the WSRP Consumer.Before CF 05:<service-ref> <description>WSRP 2.0 Default Service Reference</description> <service-ref-name>service/wsrp/WSRPService_v2</service-ref-name> <service-interface>javax.xml.ws.Service</service-interface> <service-qname xmlns:pfx="http://www.ibm.com/xmlns/prod/websphere/portal/wsrp/wsdl/v2">pfx:WSRPService_v2</service-qname> <handler-chains> <handler-chain> <handler> <handler-name>sample handler</handler-name> <handler-class>sample.handler.ConsumerHandler</handler-class> </handler> </handler-chain> </handler-chains> </service-ref>With CF 05 and later fix packs, we must not modify the default handler definition named WSRP 2.0 Default Consumer Handler. We can add more handlers as shown in the following example:<service-ref> <description>WSRP 2.0 Default Service Reference</description> <service-ref-name>service/wsrp/WSRPService_v2</service-ref-name> <service-interface>javax.xml.ws.Service</service-interface> <service-qname xmlns:pfx="http://www.ibm.com/xmlns/prod/websphere/portal/wsrp/wsdl/v2">pfx:WSRPService_v2</service-qname> <handler-chains> <handler-chain> <handler> <handler-name>WSRP 2.0 Default Consumer Handler</handler-name> <handler-class>com.ibm.wps.wsrp.consumer.handler.ConsumerHandlerChain</handler-class> </handler> <handler> <handler-name>sample handler</handler-name> <handler-class>sample.handler.ConsumerHandler</handler-class> </handler> </handler-chain> </handler-chains> </service-ref>
Register a SOAPHandler as a WSRP extension
To register a handler that implements the SOAPHandler interface, we can use a WSRP extension point. In this case, you do not need to modify the web.xml file of the portal application. To do so, provide a JAR file that contains the handler implementation and a plugin.xml file that defines an extension of extension point com.ibm.portal.wsrp.consumer.SOAPHandler. We can also define multiple handlers inside one plugin.xml file as shown in the following example. The class attribute must specify the handler implementation class.
<?xml version="1.0" encoding="UTF-8"?> <plugin name="Sample WSRP Handlers" version="1.0.0"> <extension point="com.ibm.portal.wsrp.consumer.SOAPHandler" > <impl class="com.ibm.wps.wsrp.test.handler.ConsumerHandler1" weight="100"/> </extension> <extension point=" com.ibm.portal.wsrp.consumer.SOAPHandler" > <impl class="com.ibm.wps.wsrp.test.handler.ConsumerHandler2" weight="110/> </extension> </plugin>
Parent topic: Use handlers for WSRP web services
References: