You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Laws (Commented) (JIRA)" <de...@tuscany.apache.org> on 2012/01/06 12:59:39 UTC

[jira] [Commented] (TUSCANY-3910) Ensure that JAX-WS wrapper generation occurs before databinding introspection to avoid need for @RequestWrapper, etc. to set databinding

    [ 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