Requests Fail with Error 400 bad request with session error reported by RSOE

Problem: Previously, user requests were handled successfully through relay server, but after restarting relay server, requests fail with errors.

Explanation: This error typically happens after relay server has been restarted. Relay server maintains client socket and backend server socket affinity using a section named ias-rs-sessionid, which is provided by the client application. With this mechanism, a stateful request can be transferred to the original backend server, even from a different relay server in the relay server farm. After restarting the relay server, the socket and session affinity that originated from this relay server are both cleared, and the backend server socket connection is dropped. The Outbound Enabler responds with a 400 error when it receives a request that is still using the previous ias-rs-sessionid value. Moreover, for a stateless request that does not provide the ias-rs-sessionid, relay server transfers the request to any backend server in the targeted farm according to the load balancing algorithm.

Solution:

  1. In the relay server configuration file, create the property named renew_overlapped_cookie in the backend_farm configuration section.
  2. Set the renew_overlapped_cookie value to "yes". Outbound Enabler will create new connections instead of responding with a 400 error.