We have all our services configured in some form of a cluster, like the SoaSuite (10.1.3.4), Filenet, Siebel etc.
When a new BPEL process was deployed and being used moe and more, we saw SOAP errors occurring and the BPEL process would timeout. The BPEL process instance was calling an external webservice through the Oracle ESB.
This is the error:
Exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Premature EOF encountered
The solution was to add an option to the start parameters of the containers running SOA.
-DHTTPClient.disableKeepAlives=true
I've seen other SOAPExceptions in my search that all relate to this issue.
On Oracle support its documented as a problem concerning the http_client.jar (article id 803186.1).
As we do not see this problem in non-clustered environments, it looks like the combination of a loadbalancer and http_client using keepalive is not working well. From the viewpoint of a loadbalancer it is strange to persistent connections as it cannot do the work its supposed to do.