The WSA handles session-free SOAP Web services in exactly the same way that other OpenEdge clients access a traditional AppServer running in state-free operating mode. For session-free SOAP Web services, the WSA maintains a pool of AppServer TCP/IP connections (connection pool) for use by all clients of a single SOAP Web service. This allows multiple clients to access the same SOAP Web service concurrently; that is, session-free SOAP Web services are multi-threaded. The WSA can do this because a session-free AppServer maintains no client connections, but accepts and responds to client requests one at a time regardless of origin and with no context maintained from one request to another. This session model thus supports the industry standard for SOAP Web service interactions that focuses on small, atomic, and complete transactions in a single client request.
The connection pool maintains a list of available connections to session-free AppServers that support the same application service on behalf of all clients using the corresponding SOAP Web service. The WSA can then service as many client requests at one time as AppServer connections in the connection pool. It also queues any additional client requests for the first available AppServer that completes a client request.
Note: Session-free SOAP Web services can support SOAP Web service objects that require dedicated AppServer connections. However, typical session-free SOAP Web services avoid the use of these types of SOAP Web service objects because they undercut the benefits of connection-less interactions.