The connection to data source <yourEhealthDataSourceName> was unexpectedly
terminated. The problem may be in either the data source or CAPC. The
following stack trace may indicate where the problem lies. You may also
want to check the logs for the data source to determine if it is the cause
of the problem.
javax.xml.ws.WebServiceException: Could not send Message.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
at $Proxy95.pullRequest(Unknown Source)
Caused by: java.net.SocketException: SocketException invoking
http://<yourEhealthDataSourceIP>:80/axis2/services/ProductSync2WS: Unexpected end of
file from server
at sun.reflect.GeneratedConstructorAccessor38184.newInstance(Unknown
Source)
Cause:
CAPC normally keeps the same TCP connection open to a data source across multiple requests, but eHealth (or the eHealth system) in some cases appears to time out and terminates the TCP connection to CAPC.
Resolution:
The workaround is to modify the CAPC connection settings such that they will close and re-open a new connection for each request.
Workaround procedure:
To set Connection = "close" (versus "keep-alive"):
On CAPC system:
1) backup the config file:
cp /opt/CA/PerformanceCenter/DM/webapps/dm/META-INF/spring/webservices.xml /opt/CA/PerformanceCenter/DM/webapps/dm/META-INF/spring/webservices.xml.orig
2) Open the following config file in an editor:
/opt/CA/PerformanceCenter/DM/webapps/dm/META-INF/spring/webservices.xml
...and change this...
<http:conduit name="*.http-conduit">
<http:tlsClientParameters disableCNCheck="true" />
<http:client ReceiveTimeout="$conduit>
...to this (adds 'Connection="close"' to http" Connection="close"/>
</http:conduit>
3) Restart the CAPC services:
/etc/init.d/caperfcenter_console stop
/etc/init.d/caperfcenter_eventmanager stop
/etc/init.d/caperfcenter_sso stop
/etc/init.d/caperfcenter_devicemanager stop
/etc/init.d/caperfcenter_devicemanager start
/etc/init.d/caperfcenter_sso start
/etc/init.d/caperfcenter_eventmanager start
/etc/init.d/caperfcenter_console start