[
https://issues.apache.org/jira/browse/TUSCANY-3910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13181245#comment-13181245
]
Simon Laws commented on TUSCANY-3910:
-------------------------------------
In the code currently these two visitors are configured as follows:
org.apache.tuscany.sca.core.databinding.processor.WrapperJavaInterfaceProcessor;ranking=200
org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSJavaInterfaceProcessor;ranking=100
They are used in descending order so the WrapperJavaInterfaceProcessor will
always run before JAXWSJavaInterfaceProcessor. My first suggestion would be to
swap this order and see if this improves things.
> Ensure that JAX-WS wrapper generation occurs before databinding introspection
> to avoid need for @RequestWrapper, etc. to set databinding
> ----------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TUSCANY-3910
> URL: https://issues.apache.org/jira/browse/TUSCANY-3910
> Project: Tuscany
> Issue Type: Improvement
> Components: SCA Java Runtime
> Affects Versions: Java-SCA-2.0
> Reporter: Scott Kurz
> Assignee: Scott Kurz
>
> Say I have a wrapped-style WSDL interface which I want to map to Java intf:
> Node greetDOM(Node name);
> Our databinding introspection will correctly mark the input/output with
> DOMDataBinding. The JAXWSJavaInterfaceProcessor will generate the wrappers
> since they are not already present from the Java perspective.
> Then there is some more function in WrapperJavaInterfaceProcessor to
> "promote" the parm/returnVal databindings to the wrapper-level databindings.
> However, while in 1.x this always ran after the wrappers were generated,
> in 2.x the order isn't so determined because of the way we factored out the
> addition of the interface processors.
> So the user has to ensure the JAX-WS annotations are present and that they
> specify the databinding (via the className), which is a pain to add manually
> if he doesn't have a tool to do it, e.g.:
> @RequestWrapper(localName = "greetDOM", targetNamespace =
> "http://intf.privatecopy.itest/", className = "org.w3c.dom.Node")
> @ResponseWrapper(localName = "greetDOMResponse", targetNamespace =
> "http://intf.privatecopy.itest/", className = "org.w3c.dom.Node")
> Node greetDOM(Node name);
> We seem to need an ordering so that the WrapperJavaInterfaceProcessor runs
> after JAXWSJavaInterfaceProcessor.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira