On Tue, Aug 23, 2011 at 9:38 PM, Greg Dritschler <greg.dritsch...@gmail.com> wrote: > 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
I've raised TUSCANY-3934 for this, and its related to TUSCANY-3931 too. I think i agree it seems like it might be better for JavaInterfaceIntrospectorImpl to just build the Operation elements correctly in the first place. I'm going to give that approach a go anyway and see how it turns out. ...ant