Workaround for BUG 10550614 and NOTE 527156.1 : Use HTTP 1.0 on outbound web service calls.
Last updated on MARCH 01, 2018
Applies to:Siebel CRM - Version 18.104.22.168 SIA  and later
Information in this document applies to any platform.
On : 22.214.171.124 SIA  version, Siebel EAI
Outbound web service calls are causing the 3rd party web server to reach the maximum number of http connections allowed.
This happens because on first http call from siebel, a connection is opened, used and left open for later re-use (default http 1.1 behavior).
But due to conditions external to siebel (e.g: a firewall timing out idle http connections) the connection becomes invalid.
Neither Siebel, nor the external system notice at first that the connection is no longer valid.
On a further web service call, siebel tries to re-use the connection as it should but notices it is no longer valid.
Siebel automatically opens a new connection and proceeds with the call successfully.
The other system never gets a notice the old connection is invalid though.
As a result, the number of http connections opened to the 3rd party system increases over time.
A workaround was attempted to force siebel not to re-use connections:
EAI HTTP Transport was scripted to send the http header: connection:close.
This should force siebel to open non persistent http connections. As a result, a connection should be opened, used and immediately closed.
Due to a siebel bug 10550614, the workaround caused poor performance due to the behavior described at: HTTP Transport not returning data to Siebel until TCP connection is closed [ID 527156.1]
HTTP connections should be re-used, avoiding an overhead on the target server or when non persistent connections are used, there should be no delay in getting back the response.
The issue can be reproduced at will with the following steps:
1. just call outbound web services repeatedly and monitor the 3rd party system for number of http connections opened.
The issue has the following business impact:
Due to this issue, users cannot use persistent connections as it impacts the 3rd party system, and also can not use non persistent connections as it causes a performance issue in receiving data.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms