[ 
https://issues.apache.org/jira/browse/AXIS2-4378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12719651#action_12719651
 ] 

Ben Reif commented on AXIS2-4378:
---------------------------------

It seems that the proper WSDL generation behavior for one-way operations would 
be this:

DOC/LIT unwrapped:
    -Do not generate a <wsdl:output> inside the <wsdl:operation> in either the 
<wsdl:portType> or the <wsdl:binding>

DOC/LIT wrapped: 
Since it's wrapped we still need a wrapper response element (even though it's 
empty and contains no content), so
    -It should generate a <wsdl:output> inside the <wsdl:operation> in both the 
<wsdl:portType> and the <wsdl:binding>

Also for operations that take no arguments it should do something similar:

DOC/LIT unwrapped:
    -Do not generate a <wsdl:input> inside the <wsdl:operation> in either the 
<wsdl:portType> or the <wsdl:binding>

DOC/LIT wrapped: 
Since it's wrapped we still need a wrapper request element (even though it's 
empty and contains no content), so
    -It should generate a <wsdl:input> inside the <wsdl:operation> in both the 
<wsdl:portType> and the <wsdl:binding>



> Java2WSDL - Invalid WSDL for DOC/LIT wrapped operations that return Void 
> -------------------------------------------------------------------------
>
>                 Key: AXIS2-4378
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4378
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: wsdl
>    Affects Versions: 1.4
>            Reporter: Ben Reif
>
> It seems that there is an inconsistency in the generated WSDL, with 
> operations that return void, that comes from the Java2WSDLBuilder. My MEP is 
> http://www.w3.org/ns/wsdl/robust-in-only. After it runs, it generates a 
> <wsdl:output> element in the <wsdl:portType> operation, but there isn't one 
> in the <wsdl:binding> operation definition. This causes some WSDL validators 
> to fail.
> To generate the <wsdl:output> in the <wsdl:portType> it seems that the 
> AxisService2WSDL11.generatePortType() method, it's checking for that MEP and 
> then just checking to make sure that the AxisMessage from the AxisOperation 
> is not null.
> To generate the <wsdl:output> in the <wsdl:binding> it seems that the 
> AxisService2WSDL11.generateSoap11Binding() method is checking for that MEP 
> and then just checking that the AxisBindingMessage on the 
> AxisBindingOperation is not null. In this case I think that the 
> AxisBindingMessage is null, because the WSDLUtil.isOutputPresentForMEP() 
> method is not checking for the Robust-In-Only MEP (which is the trigger to 
> create the AxisBindingMessage ), however the output AxisMessage on the 
> AxisOperation is not null.
> I think that either the WSDLUtil.isOutputPresentForMEP() method should be 
> fixed to check for that MEP, or else the 
> AxisService2WSDL11.generateSoap11Binding() method should also check the 
> output message on the AxisOperation. Another option is to fix the code so 
> that the the <wsdl:operation> is not created in the <wsdl:portType> operation 
> either.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to