This topic discusses troubleshooting Web services clients.
Each section in this topic is a problem that you might experience during the run-time of a Web services client. A solution is provided to help you troubleshoot the problem.
java -jar <your_client_application>.jar, <main_class_file>.
The problem occurs because the Sun JDK classloading specification is more strict than the IBM JDK specifications. You can make one of three changes to avoid an exception:
java -jar <java_application>.jar, <main_class_file >.
export WAS_HOME=/opt/IBM/WebSphere/AppServer ${WAS_HOME}/java/jre/bin/java -Djava.ext.dirs=${WAS_HOME}/runtimes -jar <your_client_application>.jar, <your_client_application>.args.
Class Path: /opt/IBM/WebSphere/AppServer/runtimes/ibm-jaxrpc-client.jar
The DNS service is often not available when you use HTTP to connect to a service endpoint interface that is based on a private IP address. Therefore, performance is degraded during the DNS resolution.
This problem occurs when the outbound HTTP connector in the Web service engine attempts to resolve the host address name and times out.
You can modify the HOSTS file for the targeted IP address to avoid the DNS resolution.
WSWS3701E: Error: An exception was encountered. Use wsdeploy to deploy your application. This may correct the problem. The exception is <exception data>.
This exception indicates that a problem occurred while running the application that was developed with tools supported by versions prior to V6. A solution to the problem is to uninstall the application, run the wsdeploy command and redeploy the application.
A WebServicesFault exception displays during the application server run time for WSDL files that define operations with document style and literal use, and use the SOAP header to transmit the input data.
If the WSDL files define the operation with document style and literal use, and this operation maps the input to the SOAP header, the Web services run time fails to find the correct operation for the target service and the WebServicesFault exception displays.
To solve the problem, change the WSDL files so that the operation does not have input that uses the SOAP header to transmit the data.
When hosting Web services on WebSphere Application Server, the following exception displays: java.net.SocketTimeOutException: Read Timed Out.
A slow network connection between the client and the Web service causes this problem. In such cases, the HTTP socket might time out before the Web service engine completely reads the SOAP request. In the majority of cases, a sudden increase in overall network activity causes this problem. The problem can also occur when the client is accessing the Web service from a slow network connection and when the SOAP request has a lot of data. To solve the problem, increase the ConnectionIOTimeOut parameter for the Web container HTTP transport. The default value is 5 seconds. Increase the value to 30 seconds or greater. Refer to HTTP transport custom properties for setting the value using the administrative console. Type the following property name and value:
If the Web service is hosted in a clustered environment, set the property on each application server in the cluster. If your application server is listening on more than one port number, set the property on all ports.
[mm/dd/yy hh:mm:ss:ttt EST] 0000006e SystemErr R WebServicesFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException faultString: java.io.IOException: Connection close: Read failed.Possible end of stream encountered. faultActor: null faultDetail:You can avoid this error by following one of two ways:
For example, if your client is a banking application, and you set the com.ibm.websphere.webservices.http.requestResendEnabled property to true, a transaction might be posted twice to an account. See Configuring additional HTTP transport properties using the JVM custom property panel in the administrative console to configure the com.ibm.websphere.webservices.http.requestResendEnabled property.