janstey wrote:
>
> In JBI applications, each SU has its own classloader so I *think* if you
> make sure that your custom classes are available on the Camel SU's
> classpath
> and the JMS SU's classpath all will be well.
>
You were right. After moving the relevant classes to the classpath
directory, the exception is gone. However, it would be to easy if things
just worked, so Servicmix throws a new exception. This time it's JiBX,
annoying:
javax.jms.JMSException: Error sending JBI exchange
at
org.apache.servicemix.jms.endpoints.AbstractConsumerEndpoint.onMessage(AbstractConsumerEndpoint.java:575)
at
org.apache.servicemix.jms.endpoints.JmsConsumerEndpoint$1.onMessage(JmsConsumerEndpoint.java:505)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:518)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:479)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.jibx.runtime.JiBXException: Error marshalling XML to Object
at terror.util.JiBXUtil.marshalDocument(JiBXUtil.java:51)
at
terror.util.TerrorJMSMarshaler.populateMessage(TerrorJMSMarshaler.java:19)
at
org.apache.servicemix.jms.endpoints.DefaultConsumerMarshaler.createExchange(DefaultConsumerMarshaler.java:99)
at
org.apache.servicemix.jms.endpoints.AbstractConsumerEndpoint.onMessage(AbstractConsumerEndpoint.java:544)
... 10 more
The function that throws the exceptions is this:
public static Source marshalDocument(Object src, String encoding) throws
JiBXException {
Source result = null;
try {
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
IMarshallingContext ctx =
BindingDirectory.getFactory(src.getClass())
.createMarshallingContext();
ctx.marshalDocument(src, "UTF-8", null, bOut);
result = new StreamSource(new
ByteArrayInputStream(bOut.toByteArray()));
}
catch (Exception e) {
throw new JiBXException("Error marshalling XML to
Object",e);
}
return result;
}
I don't know where the problems is. The exceptiopns doesn't give much
information.
Kind regards,
Kenneth
--
View this message in context:
http://old.nabble.com/Help-to-understand-xpath-expression-in-camel-routebuilder-tp26779963p26814820.html
Sent from the Camel - Users mailing list archive at Nabble.com.