You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Ben Reif (JIRA)" <ji...@apache.org> on 2009/06/15 17:42:07 UTC

[jira] Updated: (AXIS2-4378) Java2WSDL - Invalid WSDL for DOC/LIT wrapped operations that return Void

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