dev@jax-ws.java.net

A bug in wscompile?

From: Kohsuke Kawaguchi <Kohsuke.Kawaguchi_at_Sun.COM>
Date: Tue, 14 Feb 2006 13:57:11 -0800

I'm investigating one of the failures and I think I found a bug in
wscompile.

in the async/wsdl_hello_lit/client test, it generates the attached Hello
interface.

In particular compare these three:

     public Response<Hello1WorldResponse> hello1WorldAsync(
         HelloType req, HelloType inHeader);

     public Future<?> hello1WorldAsync(
         HelloType req, HelloType inHeader,
         AsyncHandler<Hello1WorldResponse> asyncHandler);

     public void hello1World(
         HelloType req,
         HelloType inHeader,
         Holder<HelloOutput> res,
         Holder<HelloType> outHeader);

The spec says in section 2.3.4.2 that:

   A callback method takes an additional final parameter that is an
instance of a typed
   AsyncHandler<ResponseBean> and returns a wildcard Future<?> that may
be polled to

So I've been assuming that given the sync version

        Tr foo( T1 param1, T2 param2, ... Tn paramn );

the async version is always:

         Response<Tr> fooAsync( T1 param1, T2 param2, ... Tn paramn );

         Future<?> fooAsync( T1 param1, T2 param2, ... Tn paramn,
                      AsyncHandler<Tr> asyncHandler );

... which seems to be what the word "additional" is implying. OTOH, it
does say "response bean".

Is this the correct signature to generate? If so, I need to do some
surgery on client SEIStub.

-- 
Kohsuke Kawaguchi
Sun Microsystems                   kohsuke.kawaguchi_at_sun.com