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