...
This section describes how to write the code for a simple Java client, based on the WSDL contract above. To implement the client, you need to use the following stub classes:
...
For example, the below shows the Greeter service endpoint interface, which is generated from the Greeter port type defined in #Example1. For simplicity, #Example3 omits the standard JAXB and JAX-WS annotations.
...
CXF supports the following context properties:
Context Property Name | Context Property Type |
---|---|
|
|
Asynchronous Invocation Model
...
The implementation of handleResponse()
shown in #Example11 simply gets the response data and stores it in a member variable, reply
. The extra getResponse()
method is just a convenience method that extracts the sole output parameter (that is, responseType
) from the response.
#Example12 illustrates the callback approach to making an asynchronous operation call. Using this approach, the client invokes the operation by calling the special Java method, _OperationName_Async()
, that returns a java.util.concurrency.Future<?>
object and takes an extra parameter of AsyncHandler<T>
.
...
The Future<?>
object returned by greetMeSometimeAsync()
can be used only to test whether or not a response has arrived yet - for example, by calling response.isDone()
. The value of the response is only made available to the callback object, testAsyncHandler
.
Warning |
---|
Please be careful when using asynchronous consumers along with reactive / non-blocking libraries. There is certain amount of intialization code (on the first asynchronous invocation) which may cause unnecessary blocking. |