[ http://issues.apache.org/jira/browse/AXIS-2424?page=comments#action_12376188 ]
Olaf Danne commented on AXIS-2424: ---------------------------------- You can now find two more files: - Axis_2424_Test.java : the "endpoint interface" (hope this is what you mean), defining two test methods - Axis_2424_TestImpl.java : contains the implementation of these methods. Note that these are dummy methods only (not a fully functional soap service), we only want to show the Java2WSDL / WSDL2Java errors. Another information might be useful for you: We went through the Axis1.3 source files (taken from axis-src-1_3.zip) and found a way to avoid the error with the arrays of primitive data types: In the class src\org\apache\axis\wsdl\fromJava\Types.java we changed line 414: if ((qname == null) // before change if ((qname == null) || (type.getName().startsWith("[")) // after change With this additional check it is ensured that the methods to build the xml expressions for the arrays of primitive data types (like "ArrayOf_xsd_int" for the type int[], where type.getName() is "[I") are called in the correct way, which was not the case before. This might be a quick and dirty solution, but it works, and it does not seem to have any side effects (we compared the resulting wsdl's, and only the relevant lines were affected). Regards, Olaf > Java2WSDL and again WSDL2Java on the created wsdl modify the code irreversably > ------------------------------------------------------------------------------ > > Key: AXIS-2424 > URL: http://issues.apache.org/jira/browse/AXIS-2424 > Project: Apache Axis > Type: Bug > Components: WSDL processing > Versions: 1.3 > Environment: Windows 2000, Java 1.4.2_04 > Reporter: Dr. Friedemann Weik > Attachments: Axis_2424.zip > > A Java class containing definitions like: > private int[] arrPossibleDestPenalties; > private java.lang.Boolean bStationBefore; > without the code generated by WSDL2Java creates a wsdl with > <element name="arrPossibleDestPenalties" nillable="true" > type="impl:ArrayOf_xsd_int"/> > <element name="BStationBefore" nillable="true" type="soapenc:boolean"/> > Using this generated wsdl and creating the Java files back by WSDL2Java > together with the generated methods, I will find: > private int[] arrPossibleDestPenalties; > private java.lang.Boolean BStationBefore; > thus creating the right definition for int[] but changing the name of the > variable from bStationBefore to BStationBefore. If I correct the modified > name back to its original, wherever it appears, compile the Java-files and do > the Java2WSDL again, I receive the following: > <element name="arrPossibleDestPenalties" nillable="true" type="xsd:int"/> > <element name="bStationBefore" nillable="true" type="soapenc:boolean"/> > Using this generated wsdl and creating the Java files back by WSDL2Java > together with the generated methods, I will find: > private java.lang.Integer arrPossibleDestPenalties; > private java.lang.Boolean bStationBefore; > Which means: > - a pure Java file with Java2WSDL and WSDL2Java will modify the names > - a generated Java file with Java2WSDL and WSDL2Java will modify the int[] to > Integer (not as array!). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira