SerializedXMLGregorianCalendar class not found
maxpicoz Jun 24, 2011 7:37 AMHi there,
I'm upgrading to FUSE 4.4.0 and I got the following error when camel try parse the message payload from a JMS queue:
org.apache.camel.RuntimeCamelException: Failed to extract body due to: javax.jms.JMSException: Failed to build body from content. Serializable class not available to broker. Reason: java.lang.ClassNotFoundException: org.apache.xerces.jaxp.datatype.SerializedXMLGregorianCalendar not found by org.apache.servicemix.bundles.xerces . Message: ....
The message was initially loaded from an external web service and pushed into the JMS queue. Both producer and consumer of the JMS message queue are camel routes.
The first camel route periodically polls an external web service to gather some information. The retrieved object, that contains an dateTime XML element, becomes the payload of the JMS Message.
The second camel route just listens to the JMS queue and processes them.
Here's the full stack trace:
at org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:160)[91:org.apache.camel.camel-jms:2.7.1.fuse-00-27]
at org.apache.camel.component.jms.JmsMessage.createBody(JmsMessage.java:204)[91:org.apache.camel.camel-jms:2.7.1.fuse-00-27]
at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:41)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.impl.DefaultUnitOfWork.(DefaultUnitOfWork.java:82)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.processor.UnitOfWorkProcessor.createUnitOfWork(UnitOfWorkProcessor.java:147)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:90)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:106)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)[76:org.apache.camel.camel-core:2.7.1.fuse-00-27]
at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:93)[91:org.apache.camel.camel-jms:2.7.1.fuse-00-27]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)[92:org.springframework.jms:3.0.5.RELEASE]
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)[92:org.springframework.jms:3.0.5.RELEASE]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)[92:org.springframework.jms:3.0.5.RELEASE]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[92:org.springframework.jms:3.0.5.RELEASE]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[92:org.springframework.jms:3.0.5.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)[92:org.springframework.jms:3.0.5.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)[92:org.springframework.jms:3.0.5.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)[92:org.springframework.jms:3.0.5.RELEASE]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.6.0_20]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.6.0_20]
at java.lang.Thread.run(Thread.java:636)[:1.6.0_20]
Caused by: javax.jms.JMSException: Failed to build body from content. Serializable class not available to broker. Reason: java.lang.ClassNotFoundException: org.apache.xerces.jaxp.datatype.SerializedXMLGregorianCalendar not found by org.apache.servicemix.bundles.xerces
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)[50:org.apache.activemq.activemq-core:5.5.0.fuse-00-27]
at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:186)[50:org.apache.activemq.activemq-core:5.5.0.fuse-00-27]
at org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:127)[91:org.apache.camel.camel-jms:2.7.1.fuse-00-27]
... 23 more
Caused by: java.lang.ClassNotFoundException: org.apache.xerces.jaxp.datatype.SerializedXMLGregorianCalendar not found by org.apache.servicemix.bundles.xerces
at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:812)
at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1806)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)[:1.6.0_20]
at org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:670)
at org.apache.felix.framework.resolver.WireImpl.getClass(WireImpl.java:102)
at org.apache.felix.framework.ModuleImpl.searchDynamicImports(ModuleImpl.java:1462)
at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:759)
at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1806)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)[:1.6.0_20]
at java.lang.Class.forName0(Native Method)[:1.6.0_20]
at java.lang.Class.forName(Class.java:264)[:1.6.0_20]
at org.apache.activemq.util.ClassLoadingAwareObjectInputStream.load(ClassLoadingAwareObjectInputStream.java:63)
at org.apache.activemq.util.ClassLoadingAwareObjectInputStream.resolveClass(ClassLoadingAwareObjectInputStream.java:37)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1592)[:1.6.0_20]
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1513)[:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1749)[:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)[:1.6.0_20]
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)[:1.6.0_20]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)[:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)[:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)[:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)[:1.6.0_20]
at java.util.ArrayList.readObject(ArrayList.java:696)[:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.6.0_20]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:616)[:1.6.0_20]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)[:1.6.0_20]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865)[:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)[:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)[:1.6.0_20]
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)[:1.6.0_20]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)[:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)[:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)[:1.6.0_20]
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1684)[:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1340)[:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)[:1.6.0_20]
at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:184)[50:org.apache.activemq.activemq-core:5.5.0.fuse-00-27]
... 24 more