Troubleshooting WSRP

You can troubleshoot WSRP using different methods such as logging and tracing, debugging, and monitoring.

Setting traces and using the portal run time log file for WSRP diagnosis

If you want to diagnose problems that might occur during the use of WSRP, you can set WSRP specific traces and enable run time logs for the Consumer, Producer, and administration components of the WSRP implementation. Use the administration portlet Enable Tracing.

You can enable the following trace loggers for the WSRP implementation:

Table 1. WSRP trace loggers
Component Trace string
Administration com.ibm.wps.command.wsrp.*=all
com.ibm.wps.wsrp.cmd.*=all
com.ibm.wps.wsrp.common.*=all
com.ibm.ws.webservices.trace.MessageTrace=all
Consumer com.ibm.wps.wsrp.consumer.*=all
com.ibm.wps.wsrp.common.*=all
com.ibm.ws.webservices.trace.MessageTrace=all
Producer com.ibm.wps.wsrp.producer.*=all
com.ibm.wps.wsrp.common.*=all
com.ibm.ws.webservices.trace.MessageTrace=all
XMLAccess com.ibm.wps.command.xml.*=all
com.ibm.wps.wsrp.common.*=all
com.ibm.ws.webservices.trace.MessageTrace=all

Debugging and monitoring the WSRP protocol flow

You can trace SOAP messages that are exchanged between a WSRP Consumer and a WSRP Producer by using a monitor or sniffer application to capture network traffic between the two points. You can use the utility TCPMon that is shipped with the WebSphere Application Server. As an alternative, most AIX® or Linux operating systems provide suitable utilities, for example, tcpdump, which can be run on either side and record network traffic captured by a network interface. There are also free tools available.

Parallel portlet rendering with remote portlets

If you encounter errors with parallel portlet rendering of remote portlets in your Consumer portal, try to improve this situation by further increasing the value of the timeout parameter parallelRenderingTimeOut beyond the value of 10000. For details about parallel portlet rendering with remote portlets, refer to the appropriate topic.

Monitoring WSRP messages between the Consumer and Producer by using TCPMon

You can use the TCPMon tool to monitor the WSRP messages between the Consumer and Producer, as described in the WebSphere® Application Server Information Center topic about Tracing Web services messages. The TCPMon application uses the man-in-the-middle approach. TCPMon listens on a TCP port, logs the HTTP or SOAP traffic, and forwards the request to the designated server and TCP port. Therefore you need to redirect the communication from the Consumer to the TCPMon application and let TCPMon forward the request to the WSRP Producer.

If you already have an Producer configuration on your Consumer portal, you can modify the host and port for each WSRP port URL that you want to monitor. To change the WSRP port URLs that the Consumer uses to communicate with the integrated Producer, you can either use the portal administration user interface or the XML configuration interface.

Alternatively, to debug a certain scenario, you can also create a new Producer definition on the Consumer with a WSDL that contains WSRP port URLs that point to the TCPMon host und port.

The portal allows you to manipulate the WSDL contents by adding URL parameters to the WSDL URL.

After you have redirected the traffic, configure the TCPMon tool to listen on the port that you have specified on the Consumer side to communicate with the Producer. Also, set the target port to the actual port values of the Producer WSRP interfaces. For the WebSphere Portal Producer, these are the ports that appear in the WSDL file when you request the WSDL without the port parameter.

To run the TCPMonitor tool, follow the instructions given in the WebSphere Application Server information center under Tracing SOAP messages with tcpmon .