asynchronous service interface and introspection
------------------------------------------------
Key: TUSCANY-3934
URL: https://issues.apache.org/jira/browse/TUSCANY-3934
Project: Tuscany
Issue Type: Bug
Reporter: ant elder
>From the ML: http://apache.markmail.org/message/xifqnbkwzwbhifym
-------
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.
---------
This is also related to TUSCANY-3931 about the generated wsdl for async
services being invalid.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira