[ 
http://issues.apache.org/jira/browse/AXIS-2424?page=comments#action_12375525 ] 

Dr. Friedemann Weik commented on AXIS-2424:
-------------------------------------------

This bug has a major impact in such a way, that it happens not only when 
updating a Java-source file. There I can correct the created WSDL. But if you 
ask the Web-Service to provide its WSDL, there is an implicit call to Java2WSDL 
on the Java classes, belonging to the service and stored in the JAR-file. This 
implicit call to Java2WSDL again gives a property of the type Integer instead 
of int[]. Using that Java-class in a SOAP-client will produce an 
IllegalArgumentException, since the received int[] does not fit to the Integer 
of the target class. The work-around is to provide the manually cleaned 
WSDL-file to those, who want to create a client to that service.

> 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

>
> 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

Reply via email to