Hi

Looks like you either have to set MEP to InOnly or add an inputChannel
option on the spring-integration endpoint so it knows where to receive
the reply from SI.

Of course the Camel component should have better validation so it can
thrown a better error message. I will create a ticket.


On Mon, Nov 29, 2010 at 10:22 AM, Bingliu <[email protected]> wrote:
>
> Hi, I am integrating camel and spring-integration now. Please look this:
>                <camel:route>
>                        <camel:from uri="direct:toIntegration"/>
>                        <camel:bean ref="testIn"/>
>                        <camel:to uri="spring-integration:inChannel"/>
>                </camel:route>
> the spring-integration configuration is this :
>        <int:channel id="inChannel"/>
>        <int:channel id="outChannel"/>
>
>        <int:service-activator ref="testActivator" method="test"
> input-channel="inChannel"/>
>
>        <bean id="testActivator" class="com.jbsoft.msb.db.TestActivator"/>
> but a problem has occur,please look this:
> 2010 十一月 29 17:19:22 21374 DEBUG [OSGi Console]
> org.apache.camel.processor.DefaultErrorHandler     - Failed delivery for
> exchangeId: 28711046-b8b8-4e89-91a9-b6ef92214a39. On delivery attempt: 0
> caught: java.lang.NullPointerException
> 2010 十一月 29 17:19:22 21376 ERROR [OSGi Console]
> org.apache.camel.processor.DefaultErrorHandler     - Failed delivery for
> exchangeId: 28711046-b8b8-4e89-91a9-b6ef92214a39. Exhausted after delivery
> attempt: 1 caught: java.lang.NullPointerException
> java.lang.NullPointerException
>        at
> org.apache.camel.component.spring.integration.SpringIntegrationProducer.process(SpringIntegrationProducer.java:87)
>        at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:106)
>        at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:104)
>        at 
> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:189)
>        at
> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:103)
>        at 
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:87)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>        at
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>        at
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>        at
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:97)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>        at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:185)
>        at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:151)
>        at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:89)
>        at
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>        at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:75)
>        at
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
>        at
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>        at
> org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:44)
>        at
> org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:230)
>        at
> org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:209)
>        at 
> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:189)
>        at 
> org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:208)
>        at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:152)
>        at
> org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:113)
>        at
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:117)
>        at
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:134)
>        at
> org.apache.camel.impl.DefaultProducerTemplate.requestBody(DefaultProducerTemplate.java:282)
>        at com.jbsoft.msb.db.Activator._test1(Activator.java:46)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:155)
>        at
> org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:303)
>        at
> org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:288)
>        at
> org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:224)
>        at java.lang.Thread.run(Thread.java:619)
> 2010 十一月 29 17:19:22 21382 DEBUG [OSGi Console]
> org.apache.camel.processor.DefaultErrorHandler     - This exchange is not
> handled so its marked as failed: Exchange[Message: [...@1e81d48]
> 2010 十一月 29 17:19:22 21382 DEBUG [OSGi Console]
> org.apache.camel.processor.Pipeline     - Message exchange has failed so
> breaking out of pipeline: Exchange[Message: [...@1e81d48] Exception:
> java.lang.NullPointerException
> org.apache.camel.CamelExecutionException: Exception occurred during
> execution on the exchange: Exchange[Message: [...@1e81d48]
>        at
> org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1127)
>        at
> org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:448)
>        at
> org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:440)
>        at
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:118)
>        at
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:134)
>        at
> org.apache.camel.impl.DefaultProducerTemplate.requestBody(DefaultProducerTemplate.java:282)
>        at com.jbsoft.msb.db.Activator._test1(Activator.java:46)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:155)
>        at
> org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:303)
>        at
> org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:288)
>        at
> org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:224)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> I see the example on the website.The configuration as same as the example?
> What cause of the problem is it?Thanks
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Integration-camel-and-spring-integration-tp3284105p3284105.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: [email protected]
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to