Edi Obradovic created AXIS2-5919:
------------------------------------

             Summary: Java classes generated from WSDL with custom faults are 
missing parameters when calling toOM method
                 Key: AXIS2-5919
                 URL: https://issues.apache.org/jira/browse/AXIS2-5919
             Project: Axis2
          Issue Type: Bug
          Components: codegen
    Affects Versions: 1.7.7
            Reporter: Edi Obradovic
         Attachments: HelloService.wsdl, HelloServiceMessageReceiverInOut.java, 
WSDL2Java call.txt

We are currently unable to use newer version of axis2 because the Java classes 
generated by axis2-codegen have missing parameter errors.

When you generate Java classes from WSDL that uses custom faults you get errors 
in the newly generated classes: "The method toOM(TestFaultStruct, boolean, 
QName) in the type <class> is not applicable for the arguments 
(TestFaultStruct, boolean)". The reason you get that is because the QName 
parameter is missing when calling toOM in faults.

The error happens because:
 - all toOM methods code is generated using MessageReceiverTemplate.xsl 
(axis2-codegen) and they all have QName parameter defined
 - all custom faults code is generated using MessageReceiverTemplate.xsl 
(axis2-codegen) and if you look at the xsl code you can see that QName 
parameter is not there:
{code:xml}
<xsl:for-each select="fault-list/fault">
            <xsl:if test="position()=1">}</xsl:if> catch (<xsl:value-of 
select="@name"/> e) {

            
msgContext.setProperty(org.apache.axis2.Constants.FAULT_NAME,"<xsl:value-of 
select="@localname"/>");
            org.apache.axis2.AxisFault f = createAxisFault(e);
            if (e.getFaultMessage() != null){
                f.setDetail(toOM(e.getFaultMessage(),false));
            }
            throw f;
            }
        </xsl:for-each>
{code}

You can find the WSDL test file and generated class in the attachment.
 Java call for WSDL2Java is also in the attachment.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to