Hello, I want to marshal my message body with jaxb, so I've prepared the following camel context:
<camelContext xmlns="http://camel.apache.org/schema/spring" depends-on="externalAuthEventsConsumer"> <route> <from uri="direct:events"/> <marshal> <jaxb prettyPrint="false" contextPath="package.with.object.factory"/> </marshal> <transacted/> <to ref="activemq:topic:my_topic"/> </route> </camelContext> I'm using producer injected by @Produce annotation to send of jaxb-annotated object by like this: @Component(value = "notifier") public class EventNotifierImpl { @Produce(uri= "direct:events") private TaskEventSender sender; public void fireEvent(@NotNull final TaskEvent event) { sender.sendNotificationAsync(event); } } Unfortunately, i get the following exception when I'm trying to perform send operation: java.io.IOException: javax.xml.bind.JAXBException: class org.apache.camel.component.bean.BeanInvocation nor any of its super class is known to this context. at org.apache.camel.converter.jaxb.JaxbDataFormat.marshal(JaxbDataFormat.java:133) ~[camel-jaxb-2.12.1.jar:2.12.1] at org.apache.camel.processor.MarshalProcessor.process(MarshalProcessor.java:81) ~[camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:56) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:110) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:44) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.component.bean.AbstractCamelInvocationHandler$1.call(AbstractCamelInvocationHandler.java:110) [camel-core-2.12.1.jar:2.12.1] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_51] at org.apache.camel.component.bean.AbstractCamelInvocationHandler.invokeWithBody(AbstractCamelInvocationHandler.java:128) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.component.bean.CamelInvocationHandler.doInvokeProxy(CamelInvocationHandler.java:45) [camel-core-2.12.1.jar:2.12.1] at org.apache.camel.component.bean.AbstractCamelInvocationHandler.invoke(AbstractCamelInvocationHandler.java:82) [camel-core-2.12.1.jar:2.12.1] at com.sun.proxy.$Proxy74.sendNotificationAsync(Unknown Source) [na:na] at ch.sc.wfe.tasks.events.WfeTaskEventNotifierImpl$1.doTransaction(WfeTaskEventNotifierImpl.java:38) [wfe-core-0.5.1-SNAPSHOT.jar:na] at ch.sc.common.db.BTAdvanced$NoReturnBizTransactionCall.doTransaction(BTAdvanced.java:223) [jkernel-core-1.20.1-SNAPSHOT.jar:1.20.1-SNAPSHOT] at ch.sc.common.db.BTAdvanced$NoReturnBizTransactionCall.doTransaction(BTAdvanced.java:1) [jkernel-core-1.20.1-SNAPSHOT.jar:1.20.1-SNAPSHOT] at ch.sc.common.db.TransactionalBTEngineImpl.doTransactionBody(TransactionalBTEngineImpl.java:163) [jkernel-core-1.20.1-SNAPSHOT.jar:1.20.1-SNAPSHOT] at ch.sc.common.db.TransactionalBTEngineImpl.doTransactionBody(TransactionalBTEngineImpl.java:94) [jkernel-core-1.20.1-SNAPSHOT.jar:1.20.1-SNAPSHOT] at ch.sc.common.db.TransactionalBTEngineImpl.doTransactionWithPropagation(TransactionalBTEngineImpl.java:46) [jkernel-core-1.20.1-SNAPSHOT.jar:1.20.1-SNAPSHOT] at ch.sc.common.db.TransactionalBTEngineImpl.doTransactionWithPropagation(TransactionalBTEngineImpl.java:31) [jkernel-core-1.20.1-SNAPSHOT.jar:1.20.1-SNAPSHOT] at ch.sc.common.db.BTAdvanced.doFlatTransactionNoCheck(BTAdvanced.java:178) [jkernel-core-1.20.1-SNAPSHOT.jar:1.20.1-SNAPSHOT] at ch.sc.common.db.BTAdvanced.updateCommit(BTAdvanced.java:93) [jkernel-core-1.20.1-SNAPSHOT.jar:1.20.1-SNAPSHOT] at ch.sc.common.db.BT.updateCommit(BT.java:135) [jkernel-core-1.20.1-SNAPSHOT.jar:1.20.1-SNAPSHOT] at ch.sc.wfe.tasks.events.WfeTaskEventNotifierImpl.fireEvent(WfeTaskEventNotifierImpl.java:33) [wfe-core-0.5.1-SNAPSHOT.jar:na] at ch.sc.wfe.tasks.events.ExtUserTaskParseHandler$OnCommitEventIgnitor.afterCommit(ExtUserTaskParseHandler.java:82) [wfe-core-0.5.1-SNAPSHOT.jar:na] at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCommit(TransactionSynchronizationUtils.java:133) [spring-tx-3.2.4.RELEASE.jar:3.2.4.RELEASE] at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerAfterCommit(TransactionSynchronizationUtils.java:121) [spring-tx-3.2.4.RELEASE.jar:3.2.4.RELEASE] at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCommit(AbstractPlatformTransactionManager.java:951) [spring-tx-3.2.4.RELEASE.jar:3.2.4.RELEASE] at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:797) [spring-tx-3.2.4.RELEASE.jar:3.2.4.RELEASE] at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724) [spring-tx-3.2.4.RELEASE.jar:3.2.4.RELEASE] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:148) [spring-tx-3.2.4.RELEASE.jar:3.2.4.RELEASE] at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45) [activiti-spring-5.15.1.jar:5.15.1] at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31) [activiti-engine-5.15.1.jar:5.15.1] at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40) [activiti-engine-5.15.1.jar:5.15.1] at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35) [activiti-engine-5.15.1.jar:5.15.1] at org.activiti.engine.impl.FormServiceImpl.submitStartFormData(FormServiceImpl.java:62) [activiti-engine-5.15.1.jar:5.15.1] at org.activiti.explorer.ui.process.ProcessDefinitionDetailPanel$1.handleFormSubmit(ProcessDefinitionDetailPanel.java:76) [activiti-explorer-5.15.1.jar:5.15.1] at org.activiti.explorer.ui.form.FormPropertiesEventListener.componentEvent(FormPropertiesEventListener.java:39) [activiti-explorer-5.15.1.jar:5.15.1] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51] ... This exception doesn't occur if I change @Produce annotated sender to @EndpointInject. Could you please explain what is going wrong and how to marshal messages produced by client side proxy marked with @Produce annotation. -- View this message in context: http://camel.465427.n5.nabble.com/Using-JAXB-Marshaller-Together-with-Produce-Annotation-tp5760405.html Sent from the Camel - Users mailing list archive at Nabble.com.
