[ https://issues.apache.org/jira/browse/AXIS2-5919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Edi Obradovic updated AXIS2-5919: --------------------------------- Summary: WSDL2Java not working properly when using jaxbri and custom faults (was: Java classes generated from WSDL with custom faults are missing parameters when calling toOM method (axis2-codegen with axis2-jaxbri)) > WSDL2Java not working properly when using jaxbri and custom faults > ------------------------------------------------------------------ > > 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 > Priority: Blocker > > We are currently unable to use newer version of axis2 because the Java > classes generated by axis2-codegen and axis2-jaxbri 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 JaxbRIDatabindingTemplate.xsl > (axis2-jaxbri) 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. > Versions used: > axis2-jaxbri: 1.7.7 > axis2-codegen: 1.7.7 > Classpath with all versions can be found in [WSDL2Java > call|https://issues.apache.org/jira/secure/attachment/12927036/WSDL2Java%20call.txt] > *Note:* Migrating code from axis2 1.4 version -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org For additional commands, e-mail: java-dev-h...@axis.apache.org