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 "Stefan Vladov (JIRA)" <ji...@apache.org> on 2008/10/30 17:19:44 UTC

[jira] Updated: (AXIS2-4110) wsdl2java generates incorrect callback handler methods in unpacked mode

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

Stefan Vladov updated AXIS2-4110:
---------------------------------

    Attachment: TestPortType.wsdl

> wsdl2java generates incorrect callback handler methods in unpacked mode
> -----------------------------------------------------------------------
>
>                 Key: AXIS2-4110
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4110
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: codegen
>    Affects Versions: 1.4.1, 1.4
>            Reporter: Stefan Vladov
>         Attachments: Test.wsdl, TestBinding.wsdl, TestPortType.wsdl
>
>
> wsdl2java generates incorrect callback handlers in unpacked mode. The problematic code seems to be in the AxisServiceBasedMultiLanguageEmitter#emitStub(), namely:
>                 if (!codeGenConfiguration.isPackClasses()) {
>                     // write the call back handlers
>                     writeCallBackHandlers();
>                 }
> Note that this is called before the local variable this.axisBinding is populated.
> writeCallBackHandlers subsequently calls createDOMDocumentForCallbackHandler which on its side uses loadOperations(Document doc, Element rootElement, String mep). The latter one relies on the local axisBinding being already set to retrieve the binding operations using this.axisBinding.getChildren()
> As a result the generated callback handler includes wrong methods.
> To simulate the issue one could use the attached wsdl with the "-u" option. 
> The issue seems to be introduces in the 590668 revision, commit comment says:
> "use binding operation to get the polices. earlier it has assumed that the
> binding Qname and the operation Qname should be equal. but this is not 
> the case if there are in two different wsdl files."
> A simple fix would be to move the already mentioned code in the AxisServiceBasedMultiLanguageEmitter#emitStub after the loop over the service endpoints. 

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


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org