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.

Reply via email to