Re: IncompatibleClassChangeError with WSDL2Java XMLBean Generated Client

2008-12-11 Thread Timothy R J Langford

Hello,

Ok. It is the morning after and things are easier with a fresh head. I 
stopped using my build file and went through the build process 
separately and the issue vanished.  I tracked down a problem in the 
build process where the target wsdl was not being downloaded 
successfully when I thought it was. So I guess the issue must have been 
a minor change in the service not being reflected in the client.


Thanks for all who took time to look at my issue.


Tim




Timothy R J Langford wrote:

Hello,

I am using axis2 wsdl2java to generate an XML Beans binding client 
from a customers WSDL schema. This mostly seems to be working fine; 
the request I am testing returns the correct response and I can 
navigate most of the returned structure using the java object model. 
However my tests revealed that invoking one of the 'getter methods' 
causes a 'java.lang.IncompatibleClassChangeError' error, whilst others 
are fine:



java.lang.IncompatibleClassChangeError: Implementing class
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
   at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

   at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
   at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
   at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

   at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
   at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:242)
   at 
org.apache.xmlbeans.impl.schema.SchemaTypeImpl.getJavaImplClass(SchemaTypeImpl.java:1709) 

   at 
org.apache.xmlbeans.impl.schema.SchemaTypeImpl.getJavaImplConstructor(SchemaTypeImpl.java:1725) 

   at 
org.apache.xmlbeans.impl.schema.SchemaTypeImpl.createUnattachedNode(SchemaTypeImpl.java:1853) 

   at 
org.apache.xmlbeans.impl.schema.SchemaTypeImpl.createElementType(SchemaTypeImpl.java:1021) 

   at 
org.apache.xmlbeans.impl.values.XmlObjectBase.create_element_user(XmlObjectBase.java:893) 


   at org.apache.xmlbeans.impl.store.Xobj.getUser(Xobj.java:1657)
   at 
org.apache.xmlbeans.impl.store.Xobj.find_element_user(Xobj.java:2062)
   at 
com.travel.core.response.impl.ResponseHeaderImpl.getTrackingInfo(Unknown 
Source)
   at 
com.travel.client.travelapp.CoreAssertions.checkTripsResponseHeader(CoreAssertions.java:83) 




So in other words; I can programatically access all of the objects in 
the following unmarshall XML except for 'getTrackingInfo()' which 
cause the exception above.



 header xsi:type=ns3:ResponseHeader xmlns=http://X; 
xmlns:ns3=http://response.core.fab.xmltravel.com;

   localisation xmlns=http://X;
 languageen/language
   /localisation
   target xmlns=http://X;TEST/target
   timingInfo xmlns=http://X;
 millisSpentIn4643/millisSpentIn
 
requestReceivedTimestamp2008-12-10T17:01:37.382Z/requestReceivedTimestamp 

 
responseSentTimestamp2008-12-10T17:01:42.025Z/responseSentTimestamp

   /timingInfo
   trackingInfo xmlns=http://X;
 requestIdyi3VWLhA_Hel9iHUYp_Db4xF/requestId
   /trackingInfo
   userInfo xsi:type=UserInfo xmlns=http://X;
 agentX/agent
 usernameX/username
   /userInfo
 /header


I have searched the forum for the exception but they don't seem 
relevant. I am new to these tools. Under what situations can a single 
element fail in such a way and how to fix it? Hoping some can help.



Thank you for your time.


Tim







--
Timothy R J Langford - MEng. (Hons)
Senior Software Engineer 
Multicom Products Ltd.


Tel: +44 (0)117 9081250



IncompatibleClassChangeError with WSDL2Java XMLBean Generated Client

2008-12-10 Thread Timothy R J Langford

Hello,

I am using axis2 wsdl2java to generate an XML Beans binding client from 
a customers WSDL schema. This mostly seems to be working fine; the 
request I am testing returns the correct response and I can navigate 
most of the returned structure using the java object model. However my 
tests revealed that invoking one of the 'getter methods' causes a 
'java.lang.IncompatibleClassChangeError' error, whilst others are fine:



java.lang.IncompatibleClassChangeError: Implementing class
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
   at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

   at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
   at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
   at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

   at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
   at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:242)
   at 
org.apache.xmlbeans.impl.schema.SchemaTypeImpl.getJavaImplClass(SchemaTypeImpl.java:1709)
   at 
org.apache.xmlbeans.impl.schema.SchemaTypeImpl.getJavaImplConstructor(SchemaTypeImpl.java:1725)
   at 
org.apache.xmlbeans.impl.schema.SchemaTypeImpl.createUnattachedNode(SchemaTypeImpl.java:1853)
   at 
org.apache.xmlbeans.impl.schema.SchemaTypeImpl.createElementType(SchemaTypeImpl.java:1021)
   at 
org.apache.xmlbeans.impl.values.XmlObjectBase.create_element_user(XmlObjectBase.java:893)

   at org.apache.xmlbeans.impl.store.Xobj.getUser(Xobj.java:1657)
   at org.apache.xmlbeans.impl.store.Xobj.find_element_user(Xobj.java:2062)
   at 
com.travel.core.response.impl.ResponseHeaderImpl.getTrackingInfo(Unknown 
Source)
   at 
com.travel.client.travelapp.CoreAssertions.checkTripsResponseHeader(CoreAssertions.java:83)



So in other words; I can programatically access all of the objects in 
the following unmarshall XML except for 'getTrackingInfo()' which cause 
the exception above.



 header xsi:type=ns3:ResponseHeader xmlns=http://X; 
xmlns:ns3=http://response.core.fab.xmltravel.com;

   localisation xmlns=http://X;
 languageen/language
   /localisation
   target xmlns=http://X;TEST/target
   timingInfo xmlns=http://X;
 millisSpentIn4643/millisSpentIn
 
requestReceivedTimestamp2008-12-10T17:01:37.382Z/requestReceivedTimestamp
 
responseSentTimestamp2008-12-10T17:01:42.025Z/responseSentTimestamp

   /timingInfo
   trackingInfo xmlns=http://X;
 requestIdyi3VWLhA_Hel9iHUYp_Db4xF/requestId
   /trackingInfo
   userInfo xsi:type=UserInfo xmlns=http://X;
 agentX/agent
 usernameX/username
   /userInfo
 /header


I have searched the forum for the exception but they don't seem 
relevant. I am new to these tools. Under what situations can a single 
element fail in such a way and how to fix it? Hoping some can help.



Thank you for your time.


Tim




--
Timothy R J Langford - MEng. (Hons)
Senior Software Engineer 
Multicom Products Ltd.


Tel: +44 (0)117 9081250