I am having some trouble with getting the input to an asynchronous service operation processed correctly using a JAXB databinding. I have tracked it down to the following:
* JAXWSJavaInterfaceProcessor introspects the actual asynchronous Java interface (i.e. the one with xxxAsync methods), and sets wrapper information into the Operation objects. * Subsequently when JavaInterfaceImpl.getOperations() is called, it constructs a list of equivalent synchronous Operation objects and returns that. These Operation objects lack the wrapper information. It seems like JAXWSJavaInterfaceProcessor, and possibly other introspectors, need to be made sensitive to whether an asynchronous service interface is being processed and adjust accordingly (e.g. not treat ResposeDispatch as part of the business interface). It seems like JavaInterfaceImpl.getOperations() needs to preserve the work of the introspectors by copying/cloning the original Operation elements. Or maybe JavaInterfaceIntrospectorImpl should just build the Operation elements correctly in the first place? Is there any reason to build them for the original async interface and then try to swizzle them at the end? That approach seems to hope it can hide the impact of async, but I'm not sure whether that's a good idea or not. Greg