Thanks for the response. I still do not know if asynchronous web service is something driven from WS-I BP specification. Thus are all different WS-I BP compliant vendors supposed to provide asynchronous web services behavior.
I tried the WS-I web site but could not determine the answer.
Well, there are other ways as well...It's a matter of architecturing the web service flow as a whole to achieve Asynchronous aspect.
As for WS-I, they ensure the provider service is workable across all platforms. In the SOAP UI, you can validate the wsdl is WS-I complicant or not if you care about the Inter-operability of the service.
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 exchangepattern 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.
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.