[
https://issues.apache.org/jira/browse/AXIS2-3635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594099#action_12594099
]
Aaron Gourley commented on AXIS2-3635:
--------------------------------------
Upon furthur investigation, I'm convinced that there is no "easy" fix for these
issues in 1.4. Some of the issues are fixed by my proposition, but not the new
ones.
I found that in Axis2 1.3 the response objects are not unwrapped when
unwrapping is enabled, so the code compiled fine and was only mildly
inconvenient since manual unwrapping of responses was required.
Axis2 1.4 saw a bunch of checks added to a bunch of the main XSLTs. Searching
the codegen module for "=0) and ($isUnwrapParameters)" should find all of the
occurrences. The ones I found are:
MessageReceiver.xsl: ($returnparamcount=0) and ($isUnwrapParameters)
InterfaceTemplate.xsl: ($outputparamcount=0) and ($isUnwrapParameters)
InterfaceImplementationTemplate.xsl: ($outputparamcount=0) and
($isUnwrapParameters)
SkeletonInterfaceTemplate.xsl: ($outputparamcount=0) and ($isUnwrapParameters)
SkeletonTemplate.xsl: ($outputparamcount=0) and ($isUnwrapParameters)
CallbackHandlerTemplate.xsl: ($outParamCount=0) and ($isUnwrapParameters)
The problem introduced here is that the param count is ALWAYS 0 when the
xmlbeans databinding is used, because it is ONLY initialized for the adb
databinding (see
org.apache.axis2.wsdl.codegen.extension.SchemaUnwrapperExtension:110-116
"//TODO: support xmlbeans"). As a result, all methods are generated as 'void'
methods.
Removing the explicit "adb" check in the SchemaUnwrapperExtension allowed me to
generate the unwrapped code, but unfortunately the
XmlbeansDatabindingTemplate.xsl needs a plethora of getXXX() and wrapXXX()
methods added. The ADBDatabindingTemplate.xsl can be referred to when trying
to determine which ones are missing.
Hope this helps you get closer to resolving the issue. Let me know if you need
me to clarify anything.
> Compilation errors encountered when using XMLBeans databinding with
> unwrapping enabled
> --------------------------------------------------------------------------------------
>
> Key: AXIS2-3635
> URL: https://issues.apache.org/jira/browse/AXIS2-3635
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: codegen, databinding
> Affects Versions: 1.4, 1.3
> Reporter: Aaron Gourley
> Assignee: Amila Chinthaka Suriarachchi
> Attachments: parlayx.zip, XmlbeansDatabindingTemplate-modified.xsl
>
>
> Attaching modified version of Axis2 1.3's XmlbeansDatabindingTemplate.xsl and
> WSDL used to exploit this bug. This fix worked for me in Axis2 1.3, and the
> bug still exists in 1.4 RC1.
> Axis2 1.4 RC1 seems to have new issues too:
> 1. Skeleton/SkeletonInterface methods are incorrectly generated with void
> return types when XMLBeans databinding is used with unwrapping enabled. The
> return types are correct with unwrapping disabled. They are also correct
> when using ADB in both scenarios.
> 2. A call to an invalid wrapXXX() method is generated (possibly related to
> the void return type issue).
--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]