Steps to Reproduce
If network traffic needs to be tested, these steps have to be done on a local instance.
Create a new outbound rest message.
Set the REST endpoint to a remote URL that will close the connection after a short period of time before the call completes.
Select use basic auth and submit.
From the REST Message Functions, click to open Post.
Add the following to the REST Message Method definitions:
<?xml version="1.0" encoding="UTF-8"?>
Add the following parameters in the REST Message Parameters:
name: username, Type: String, Value: <username value>
name: password, Type: String, Value: <password value>
From the Related Links section, click Test to run a new test.
Observe the HTTP status; the first test should show 200.
Wait for 5-10 minutes and click Test again.
If you get a Socket Error then you have reproduced the problem. If not, repeat this step until you do.
Add the following property in sys_properties to disable the connection manager:
Type: true | false
Go back to the rest function created earlier, and repeat steps 1-3 from the Post REST message function screen.
Notice that in step 3 you still get an HTTP status of 200; you will not get a socket error.
If monitoring network traffic, note that when you get socket error, the instance attempts to send the call without checking if the connection is present and does not attempt a new connection.
For more detailed information and a workaround, see KB0546911: Outbound webservices sessions timeout randomly.
Related Problem: PRB609290