I somehow missed this email.   

On Tuesday 01 June 2010 9:58:17 am Glen Mazza wrote:
> Hello, question: In order to support SOAP clients making asynchronous SOAP
> calls (similar to here[1]) does anything need to be done to the service
> implementation bean--does it need additional methods to handle those async
> calls, *or* is it the same synchronous method called on the web service
> side, it's just that JAX-WS internally handles the client-side asynchrony?

The later.  For straight JAX-WS, there is no difference on the Server side.  
The sync method is called synchronously.  It's just the way the client side is 
handled that is different.

> Stated another way, can the SOAP client make an async call to any operation
> listed in the WSDL, or only those operations for which the service side has
> specifically configured support for it?

Any operation.


> In the sample at [1], the method call is given as
> port.greetMeSometime*Async*, which seems to imply the service
> implementation bean needs to have that method implemented.  But the
> implementation stubs optionally generated by CXF's wsdl2java tells us to
> keep those methods empty--that apparently all we need to do is implement
> the synchronous "greetMeSometime" method.

The two async methods are internally pretty much ignored when processing the 
the SEI looking for WebMethods.  They just must have a non-async version that 
matches  them.   Our server stubs that we generate implement the interface 
which is why the impl has to have them.   However, that isn't a JAX-WS 
requirement.   The impl could NOT implement the interface, have the SEI 
interface defined in the endpointInterface attribute of the @webService 
annotation, and then only implement the sync methods.   I just like having the 
impl implement the interface so if the wsdl changes for any reason, the 
compiler would catch it.   The down side being you have to have "null" 
implementations for the async methods as well.

That said, I have been thinking a bit about somehow allowing the use of async 
methods on the server side as well and leveraging the continuations support.  
It's still kind of noodling in my mind.   

Dan

> 
> Thanks,
> Glen
> 
> [1]
> http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/sample
> s/jaxws_async/src/demo/hw/client/Client.java?view=markup

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to