The
InvocationController is an interface modeling the invocation of a target web service. All of the information that the InvocationController needs should exist within the InvocatonContext that is passed in to the various invoke methods.
The request information is passed in within the InvocationContext. The InvocationController assumes that there is a MessageContext within that InvocationContext that is populated with all of the information that it needs to invoke. If not, an error will be returned. Once the response comes back, the information for that response will be held inside of the MessageContext representing the response, that exists in the InvocationContext.
The InvocationController supports four different invocation patterns:
1) synchronous - This is represented by the {@link #invoke(InvocationContext)} method. This is ablocking, request/response call to the web service.
2) one-way - This is represented by the {@link #invokeOneWay(InvocationContext)} method. This isa one-way invocation that only returns errors related to sending the message. If an error occurs while processing, the client will not be notified.
3) asynchronous (callback) - {@link #invokeAsync(InvocationContext,AsyncHandler)}
4) asynchronous (polling) - {@link #invokeAsync(InvocationContext)}