You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Greg Dritschler (Updated) (JIRA)" <de...@tuscany.apache.org> on 2012/02/22 20:39:48 UTC

[jira] [Updated] (TUSCANY-3824) Incorrect WSDL generated for bare parameter style

     [ https://issues.apache.org/jira/browse/TUSCANY-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Greg Dritschler updated TUSCANY-3824:
-------------------------------------

    Attachment: TUSCANY-3824.patch

I have attached a patch for this issue.

Interface2WSDLGenerator was already defaulting the global element name to the operation name for doc/lit/bare, but only if the @WebParam annotation was present.  I corrected the code to perform the correct defaulting even when the @WebParam annotation is not used.

I did not change the part name.  I could not find anything in the JAX-WS spec that requires a particular part name for doc/lit/bare.

I removed the non-standard defaulting of the SOAP action in both Interface2WSDLGenerator and WSDLDefinitionGenerator.

I ran into one issue in the tests.  In itest/ws/holder-ws-service-multiple-outputs, Axis2 couldn't figure out how to dispatch OrderServiceBare.bareReviewOrderOutHolder() since it has an empty SOAP body (no input arguments).  It turns out there is a fix for this in the Axis2 trunk.
http://svn.apache.org/viewvc?view=revision&revision=1004667
The fix is not in Axis2 1.5.3.  I decided to work around this by adding a SOAP action to the bareReviewOrderOutHolder() method.
                
> Incorrect WSDL generated for bare parameter style
> -------------------------------------------------
>
>                 Key: TUSCANY-3824
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3824
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Axis Binding Extension
>    Affects Versions: Java-SCA-1.6.1
>            Reporter: Simon Nash
>            Assignee: Simon Nash
>             Fix For: Java-SCA-1.x
>
>         Attachments: TUSCANY-3824.patch
>
>
> For a method with @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE), the JAX-WS RI generates WSDL with a global element name and message part name that are the same as the operation name. Tuscany generates WSDL with a global element name and message part name of arg0, and it adds soapAction to provide the operation name.
> The JAX-WS specification says that the global element name and message part name must be the same as the operation name, so Tuscany is generating WSDL for bare operations that doesn't conform to the JAX-WS rules. The JAX-WS specification also says that soapAction should be null unless @WebMethod(action=....) is specified. The Tuscany WSDL generator should use the correct JAX-WS mapping for the global element name and message part name, and should remove the nonstandard addition of soapAction.

--
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