Hi!
There are two different kinds of asynchronous calls that can be made using a JAX-WS web service client.
1. An asynchronous call to an operation with the message
exchange pattern request-response.
This will, to the client, look like an asynchronous operation but the asynchronicity is handled by the web service client code, who maintain an extra
thread to receive answer(s).
Characteristic of this kind of operations is a Future<T> object being returned as a result of invoking the operation.
2. A call to an operation using the one-way message exchange pattern or an operation that immediately returns some kind of identifier token prior to the processing of the request having finished.
Such an operation will never return anything, but will rely on other mechanisms to convey the result of the operation to the client.
Example:
The client A invoke an operation in web service B that use the one-way message exchange pattern.
Client A enclose some additional data in the request (for instance in a SOAP header) that tells the web service where to send the result of the request.
Web service B processes the request and, when finished, use the information enclosed by the client to report the result to client A.
Results may be reported using, for instance, web services, message queues etc etc.
As you may realize, only imagination sets limits on how an asynchronous web service can report the result in the second case.
Thus, this is slightly out of scope for a web service stack, which probably will support asynchronous invocation of operations, but not directly support all the possible ways of reporting the result.
When using truly asynchronous web services, like in 2 above, you usually need more information than just a WSDL.
Best wishes!