WSDL2Java: Different class mappings of nested complex types with identical names with JDKs of different vendors.
Hi, we run in to some problems developing an Axis2 v1.5 Web service client with SUN JDK 6 (different platforms) and IBM JDK 6 (PowerPC Linux) in parallel. The WSDL of the Web service contains following nested type definitions with identical names: ... xsd:complexType name=string2stringMap xsd:sequence xsd:element maxOccurs=unbounded minOccurs=0 name=entry xsd:complexType xsd:sequence xsd:element maxOccurs=1 minOccurs=0 name=key type=xsd:string/ xsd:element maxOccurs=1 minOccurs=0 name=value type=xsd:string/ /xsd:sequence /xsd:complexType /xsd:element /xsd:sequence /xsd:complexType xsd:complexType name=anyType2anyTypeMap xsd:sequence xsd:element maxOccurs=unbounded minOccurs=0 name=entry xsd:complexType xsd:sequence xsd:element maxOccurs=1 minOccurs=0 name=key type=xsd:anyType/ xsd:element maxOccurs=1 minOccurs=0 name=value type=xsd:anyType/ /xsd:sequence /xsd:complexType /xsd:element /xsd:sequence /xsd:complexType ... As result the WSDL2Java tool generates inner or separate classes (depends on -u command line option) for the entry type definitions with the following names: Entry_type0.java Entry_type1.java The problem is the order the Entry_type*.java classes are created, i.e. Entry_type0.java belongs to the string2stringMap class in the SUN JDK, but to the anyType2anyTypeMap class in the IBM JDK. As result source code that accesses these classes is affected and has to be adapted for the JDKs of both vendors. Is there any fix or workaround for this issue? Regards, Norman Kubicek
Re: WSDL2Java: Different class mappings of nested complex types with identical names with JDKs of different vendors.
Norman, Can you open a JIRA for this issue? Thanks. Andreas On Fri, Jul 31, 2009 at 11:32, Norman Kubicekn.kubi...@intershop.de wrote: Hi, we run in to some problems developing an Axis2 v1.5 Web service client with SUN JDK 6 (different platforms) and IBM JDK 6 (PowerPC Linux) in parallel. The WSDL of the Web service contains following nested type definitions with identical names: … xsd:complexType name=string2stringMap xsd:sequence xsd:element maxOccurs=unbounded minOccurs=0 name=entry xsd:complexType xsd:sequence xsd:element maxOccurs=1 minOccurs=0 name=key type=xsd:string/ xsd:element maxOccurs=1 minOccurs=0 name=value type=xsd:string/ /xsd:sequence /xsd:complexType /xsd:element /xsd:sequence /xsd:complexType xsd:complexType name=anyType2anyTypeMap xsd:sequence xsd:element maxOccurs=unbounded minOccurs=0 name=entry xsd:complexType xsd:sequence xsd:element maxOccurs=1 minOccurs=0 name=key type=xsd:anyType/ xsd:element maxOccurs=1 minOccurs=0 name=value type=xsd:anyType/ /xsd:sequence /xsd:complexType /xsd:element /xsd:sequence /xsd:complexType … As result the WSDL2Java tool generates inner or separate classes (depends on –u command line option) for the “entry” type definitions with the following names: Entry_type0.java Entry_type1.java The problem is the order the Entry_type*.java classes are created, i.e. Entry_type0.java belongs to the string2stringMap class in the SUN JDK, but to the anyType2anyTypeMap class in the IBM JDK. As result source code that accesses these classes is affected and has to be adapted for the JDKs of both vendors. Is there any fix or workaround for this issue? Regards, Norman Kubicek