To invoke a Web service operation, the client application makes a request, which is essentially a remote procedure call, by invoking an operation (method on a client interface object, function, or procedure, as is appropriate for the client language). This operation invocation causes the client to create an industry-standard, SOAP-formatted message, which includes any input or output parameters that the method requires. The client then sends the message, using an HTTP (or HTTPS) Post method, to a Web service provider that hosts (or provides) the Web service.
The Web service provider then normally relies on a Web server (which has an HTTP Listener) to receive the HTTP Post method and pass the client SOAP message to a SOAP processor, which also runs in conjunction with the Web server. The SOAP processor translates the message and passes it to a business interface, which in turn, translates it into a form that can be consumed by an appropriate application server.
The application server that implements the Web service receives the translated message and invokes the operation in the business logic that corresponds to the requested Web service method or procedure. The method or procedure performs some function and returns a result (if only to indicate success or failure) that includes any values returned as output parameters and possibly a return value.
This process reverses itself to return the result (output or return values) to the client. The application server passes a message that includes the output parameter values back to the Business Interface and SOAP processor, which converts it to a SOAP message. The Web server then passes the SOAP message as an HTTP Response to the Web services client where the message is read and interpreted by a client-side SOAP processor as the return or output parameter values from the original Web service method.