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

Ben Reif updated AXIS2-4378:
----------------------------

    Description: 
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.

  was:
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, 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.


> 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