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