SuzanneZurich Respected Contributor.
Respected Contributor.
447 views

(OO) Support Tip: Calls to OO 10.x SOAP API can return a java.net.SocketTimeoutException: Read time

When invoking the SOAP API (for example the method to execute a flow), a 500 HTTP code can be returned even if the action was successfully executed in OO central. In addition to that the following error will be observed on Central logs:

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server.userException</faultcode><faultstring>org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://localhost:8080/oo/backwards-compatibility/triggeringService]; nested exception is java.net.SocketTimeoutException: Read timed out</faultstring><detail><ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">BLRUWVHPOOCNT02</ns1:hostname></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>

How to resolve?

The timeout error is occurring on an internal socket which handles communication between the outside SOAP API and the internal REST based API. It can be adjusted by following these steps:
1: Browse to the following file: <OO_Installation_PATH>\central\tomcat\webapps\PAS\WEB-INF\remote-beans-context.xml
2: Locate in the file the following XML block:
<bean class="com.hp.oo.ws.AuthenticationCommonsHttpInvokerRequestExecutor" id="authHttpExecutor">
    <constructor-arg>
        <bean class="com.hp.oo.rest.client.HttpClientFactoryBean"/>
    </constructor-arg>
</bean>

3.  Add <property name="readTimeout" value="0" />

4. The result should look like this:
<bean class="com.hp.oo.ws.AuthenticationCommonsHttpInvokerRequestExecutor" id="authHttpExecutor">
    <constructor-arg>
        <bean class="com.hp.oo.rest.client.HttpClientFactoryBean"/>
    </constructor-arg>
<property name="readTimeout" value="0" />

</bean>

5. Save the file.

6:  Stop the Central service.
7:  Delete two folders:  <OO_Installation_PATH>\central\tomcat\temp and <OO_Installation_PATH>\central\tomcat\work
8:  Start the Central service.

Please see the knowledge article at https://softwaresupport.hpe.com/km/KM03083252

Labels (1)
0 Likes
1 Reply
KevinCaulfield
New Member.

Re: (OO) Support Tip: Calls to OO 10.x SOAP API can return a java.net.SocketTime

This can also occur with a 400 error as well (i.e. java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 400 for URL), with the same behavior (flow starts, but error is reported).

This fix appears to clear up that issue as well.

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.