Troubleshooting HTTP socket connections

The Service Manager server attempts to keep an HTTP socket connection open as long as possible, but the protocol requires that it must close if the server returns a SOAP fault. If there is no successful authentication, it must return a SOAP fault.

Redirected ports

To ensure the client has the correct hostname and port number, a SOAP client application can direct requests to the TCP port number used by the sm -httpPort instance, but must be able to recognize SOAP header values in the initial response:

  • redirectServerHost
  • redirectServerPort

The server returns these SOAP header values identifying the dynamically allocated TCP host and port number for the spawned process. During the client/server session, subsequent SOAP requests must be directed to the same hostname and port identified in the initial response.

TCP ECONNRESET messages

If a client/server connection using a spawned child thread terminates, the sm -httpPort child thread receives a TCP ECONNRESET message. The child thread responds to this by self-terminating to ensure that orphaned child thread does not collect on the server. However, poorly-designed client applications, or other third-party SOAP tools, that do not gracefully close a connection could cause the server process to see a TCP ECONNRESET message, and that also terminates the server thread.