You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by pratibhaG <pr...@in2m.com> on 2008/06/17 14:37:38 UTC
Wire-Tap error in Servicemix-Camel 3.2.2 with JMS BC
I have servicemix-camel 3.2.2 snapshot in my ServiceMix 3.2.1 instance. I
have following message flow for a use case:
Http-BC(consumer) --> Camel-SU --> Bean SU
|
|
JMS Provider -BC(topic)
|
JMS Consumer-BC(topic)
Camel-SU implements wire-tap pattern. Sends message to JMS Provider and then
to Bean SU. JMS Provider put message on a topic which is subscribed by JMS
Consumer.
Camel-context file is as follows:
<route>
<from
uri="jbi:service:http://servicemix.in2m.com/operations/updateprofile/routingService"/>
<to
uri="jbi:service:http://servicemix.in2m.com/operations/updateprofile/JMSProviderService"/>
<to
uri="jbi:service:http://servicemix.in2m.com/operations/updateprofile/BeanService?mep=in-out"/>
</route>
Since I configured ServiceMix with Servicemix-Camel 3.2.2 snapshot it is
giving following errors:
DEBUG - DeliveryChannelImpl - Waiting for exchange
ID:192.168.2.53-11a921db1dd-10:0 (1492721) to be answered in
DeliveryChannel{servicemix-camel} from sendSync
DEBUG - SedaQueue -
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@f4b681 dequeued
exchange: InOut[
id: ID:192.168.2.53-11a921db1dd-10:0
status: Active
role: provider
service:
{http://servicemix.in2m.com/operations/updateprofile}routingService
endpoint: camel192-168-2-53-11a921db1dd-20-1
in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
<updateUserProfile>
<lastName>shaggy</lastName>
<firstName>sha</firstName>
<userName>testhh</userName>
<emailAddress>pj@.l</emailAddress>
</updateUserProfile>
</request>
]
DEBUG - CamelJbiComponent - Received exchange: status: Active,
role: provider
DEBUG - CamelJbiComponent - Retrieved correlation id: null
DEBUG - CamelJbiEndpoint - Received exchange: InOut[
id: ID:192.168.2.53-11a921db1dd-10:0
status: Active
role: provider
service:
{http://servicemix.in2m.com/operations/updateprofile}routingService
endpoint: camel192-168-2-53-11a921db1dd-20-1
in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
<updateUserProfile>
<lastName>shaggy</lastName>
<firstName>sha</firstName>
<userName>testhh</userName>
<emailAddress>pj@.l</emailAddress>
</updateUserProfile>
</request>
]
DEBUG - DeliveryChannelImpl - SendSync
ID:192.168.2.53-11a921db1dd-10:1 in DeliveryChannel{servicemix-camel}
DEBUG - SedaFlow - Called Flow send
DEBUG - DeliveryChannelImpl - Waiting for exchange
ID:192.168.2.53-11a921db1dd-10:1 (19ca1fb) to be answered in
DeliveryChannel{servicemix-camel} from sendSync
DEBUG - SedaQueue -
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@1064398 dequeued
exchange: InOut[
id: ID:192.168.2.53-11a921db1dd-10:1
status: Active
role: provider
service:
{http://servicemix.in2m.com/operations/updateprofile}JMSProviderService
endpoint: JMSProviderEndpoint
in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
<updateUserProfile>
<lastName>shaggy</lastName>
<firstName>sha</firstName>
<userName>testhh</userName>
<emailAddress>pj@.l</emailAddress>
</updateUserProfile>
</request>
]
DEBUG - JmsComponent - Received exchange: status: Active,
role: provider
DEBUG - JmsComponent - Retrieved correlation id: null
DEBUG - JmsTemplate - Executing callback on JMS Session
[ActiveMQSession {id=ID:rsandeep-48368-1213632160967-3:63:1,started=true}]
ERROR - JmsComponent - Error processing exchange InOut[
id: ID:192.168.2.53-11a921db1dd-10:1
status: Active
role: provider
service:
{http://servicemix.in2m.com/operations/updateprofile}JMSProviderService
endpoint: JMSProviderEndpoint
in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
<updateUserProfile>
<lastName>shaggy</lastName>
<firstName>sha</firstName>
<userName>testhh</userName>
<emailAddress>pj@.l</emailAddress>
</updateUserProfile>
</request>
out: null
]
java.lang.IllegalStateException: Unable to choose replyDestination for
exchange InOut[
id: ID:192.168.2.53-11a921db1dd-10:1
status: Active
role: provider
service:
{http://servicemix.in2m.com/operations/updateprofile}JMSProviderService
endpoint: JMSProviderEndpoint
in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
<updateUserProfile>
<lastName>shaggy</lastName>
<firstName>sha</firstName>
<userName>testhh</userName>
<emailAddress>pj@.l</emailAddress>
</updateUserProfile>
</request>
out: null
]
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.getReplyDestination(JmsProviderEndpoint.java:462)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.processInOutInSession(JmsProviderEndpoint.java:399)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint$2.doInJms(JmsProviderEndpoint.java:379)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:428)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.processInOut(JmsProviderEndpoint.java:390)
at
org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:109)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
But this same configuration works with Servicemix-Camel-3.2.1 version. Is
this a problem with using Servicemix-Camel3.2.2 snapshot with ServiceMix
3.2.1 or a bug in component itself ?
Please help.
--
View this message in context: http://www.nabble.com/Wire-Tap-error-in-Servicemix-Camel-3.2.2-with-JMS-BC-tp17896309p17896309.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: Wire-Tap error in Servicemix-Camel 3.2.2 with JMS BC
Posted by Gert Vanthienen <ge...@skynet.be>.
Pratibha
Looking at the code example in your other thread, you rather want an
in-only exchange to go to the JMS endpoint (it's a wiretap, isn't it?).
Be sure to rebuild servicemix-camel locally because you need the fix I
pointed you to in the other thread. After that, just append
?mep=in-only to the jbi:service URI you use for addressing the
JMSProviderService to force ServiceMix to use an in-only MEP.
Gert
Bruce Snyder wrote:
> On Tue, Jun 17, 2008 at 9:53 PM, pratibhaG <pr...@in2m.com> wrote:
>
>> JMS provider xbean.xml configuration file.
>>
>> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
>> xmlns:hello="http://servicemix.in2m.com/operations/updateprofile"
>> xmlns:amq="http://activemq.org/config/1.0">
>>
>> <jms:provider service="hello:JMSProviderService"
>> endpoint="JMSProviderEndpoint"
>> pubSubDomain="true"
>> destinationName="updateUserProfileTopic"
>> connectionFactory="#connectionFactory"/>
>>
>> <amq:connectionFactory id="connectionFactory"
>> brokerURL="tcp://localhost:61616" />
>>
>> </beans>
>>
>
> As I suspected, there is no replyDestinationName attribute. This is
> the reason for the error/exception because it's needed when dealing
> with in-out MEPs.
>
> Bruce
>
Re: Wire-Tap error in Servicemix-Camel 3.2.2 with JMS BC
Posted by Bruce Snyder <br...@gmail.com>.
On Tue, Jun 17, 2008 at 9:53 PM, pratibhaG <pr...@in2m.com> wrote:
>
> JMS provider xbean.xml configuration file.
>
> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
> xmlns:hello="http://servicemix.in2m.com/operations/updateprofile"
> xmlns:amq="http://activemq.org/config/1.0">
>
> <jms:provider service="hello:JMSProviderService"
> endpoint="JMSProviderEndpoint"
> pubSubDomain="true"
> destinationName="updateUserProfileTopic"
> connectionFactory="#connectionFactory"/>
>
> <amq:connectionFactory id="connectionFactory"
> brokerURL="tcp://localhost:61616" />
>
> </beans>
As I suspected, there is no replyDestinationName attribute. This is
the reason for the error/exception because it's needed when dealing
with in-out MEPs.
Bruce
--
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'
Apache ActiveMQ - http://activemq.org/
Apache Camel - http://activemq.org/camel/
Apache ServiceMix - http://servicemix.org/
Blog: http://bruceblog.org/
Re: Wire-Tap error in Servicemix-Camel 3.2.2 with JMS BC
Posted by pratibhaG <pr...@in2m.com>.
JMS provider xbean.xml configuration file.
<beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
xmlns:hello="http://servicemix.in2m.com/operations/updateprofile"
xmlns:amq="http://activemq.org/config/1.0">
<jms:provider service="hello:JMSProviderService"
endpoint="JMSProviderEndpoint"
pubSubDomain="true"
destinationName="updateUserProfileTopic"
connectionFactory="#connectionFactory"/>
<amq:connectionFactory id="connectionFactory"
brokerURL="tcp://localhost:61616" />
</beans>
--
View this message in context: http://www.nabble.com/Wire-Tap-error-in-Servicemix-Camel-3.2.2-with-JMS-BC-tp17896309p17959265.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: Wire-Tap error in Servicemix-Camel 3.2.2 with JMS BC
Posted by Bruce Snyder <br...@gmail.com>.
On Tue, Jun 17, 2008 at 6:37 AM, pratibhaG <pr...@in2m.com> wrote:
>
> I have servicemix-camel 3.2.2 snapshot in my ServiceMix 3.2.1 instance. I
> have following message flow for a use case:
>
> Http-BC(consumer) --> Camel-SU --> Bean SU
> |
> |
> JMS Provider -BC(topic)
> |
> JMS Consumer-BC(topic)
>
> Camel-SU implements wire-tap pattern. Sends message to JMS Provider and then
> to Bean SU. JMS Provider put message on a topic which is subscribed by JMS
> Consumer.
>
> Camel-context file is as follows:
>
> <route>
> <from
> uri="jbi:service:http://servicemix.in2m.com/operations/updateprofile/routingService"/>
> <to
> uri="jbi:service:http://servicemix.in2m.com/operations/updateprofile/JMSProviderService"/>
> <to
> uri="jbi:service:http://servicemix.in2m.com/operations/updateprofile/BeanService?mep=in-out"/>
> </route>
>
> Since I configured ServiceMix with Servicemix-Camel 3.2.2 snapshot it is
> giving following errors:
>
> DEBUG - DeliveryChannelImpl - Waiting for exchange
> ID:192.168.2.53-11a921db1dd-10:0 (1492721) to be answered in
> DeliveryChannel{servicemix-camel} from sendSync
> DEBUG - SedaQueue -
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@f4b681 dequeued
> exchange: InOut[
> id: ID:192.168.2.53-11a921db1dd-10:0
> status: Active
> role: provider
> service:
> {http://servicemix.in2m.com/operations/updateprofile}routingService
> endpoint: camel192-168-2-53-11a921db1dd-20-1
> in: <?xml version="1.0" encoding="UTF-8"?><request
> xmlns="http://www.finicity.com">
> <updateUserProfile>
> <lastName>shaggy</lastName>
> <firstName>sha</firstName>
> <userName>testhh</userName>
> <emailAddress>pj@.l</emailAddress>
> </updateUserProfile>
> </request>
> ]
> DEBUG - CamelJbiComponent - Received exchange: status: Active,
> role: provider
> DEBUG - CamelJbiComponent - Retrieved correlation id: null
> DEBUG - CamelJbiEndpoint - Received exchange: InOut[
> id: ID:192.168.2.53-11a921db1dd-10:0
> status: Active
> role: provider
> service:
> {http://servicemix.in2m.com/operations/updateprofile}routingService
> endpoint: camel192-168-2-53-11a921db1dd-20-1
> in: <?xml version="1.0" encoding="UTF-8"?><request
> xmlns="http://www.finicity.com">
> <updateUserProfile>
> <lastName>shaggy</lastName>
> <firstName>sha</firstName>
> <userName>testhh</userName>
> <emailAddress>pj@.l</emailAddress>
> </updateUserProfile>
> </request>
> ]
> DEBUG - DeliveryChannelImpl - SendSync
> ID:192.168.2.53-11a921db1dd-10:1 in DeliveryChannel{servicemix-camel}
> DEBUG - SedaFlow - Called Flow send
> DEBUG - DeliveryChannelImpl - Waiting for exchange
> ID:192.168.2.53-11a921db1dd-10:1 (19ca1fb) to be answered in
> DeliveryChannel{servicemix-camel} from sendSync
> DEBUG - SedaQueue -
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@1064398 dequeued
> exchange: InOut[
> id: ID:192.168.2.53-11a921db1dd-10:1
> status: Active
> role: provider
> service:
> {http://servicemix.in2m.com/operations/updateprofile}JMSProviderService
> endpoint: JMSProviderEndpoint
> in: <?xml version="1.0" encoding="UTF-8"?><request
> xmlns="http://www.finicity.com">
> <updateUserProfile>
> <lastName>shaggy</lastName>
> <firstName>sha</firstName>
> <userName>testhh</userName>
> <emailAddress>pj@.l</emailAddress>
> </updateUserProfile>
> </request>
> ]
> DEBUG - JmsComponent - Received exchange: status: Active,
> role: provider
> DEBUG - JmsComponent - Retrieved correlation id: null
> DEBUG - JmsTemplate - Executing callback on JMS Session
> [ActiveMQSession {id=ID:rsandeep-48368-1213632160967-3:63:1,started=true}]
> ERROR - JmsComponent - Error processing exchange InOut[
> id: ID:192.168.2.53-11a921db1dd-10:1
> status: Active
> role: provider
> service:
> {http://servicemix.in2m.com/operations/updateprofile}JMSProviderService
> endpoint: JMSProviderEndpoint
> in: <?xml version="1.0" encoding="UTF-8"?><request
> xmlns="http://www.finicity.com">
> <updateUserProfile>
> <lastName>shaggy</lastName>
> <firstName>sha</firstName>
> <userName>testhh</userName>
> <emailAddress>pj@.l</emailAddress>
> </updateUserProfile>
> </request>
> out: null
> ]
> java.lang.IllegalStateException: Unable to choose replyDestination for
> exchange InOut[
> id: ID:192.168.2.53-11a921db1dd-10:1
> status: Active
> role: provider
> service:
> {http://servicemix.in2m.com/operations/updateprofile}JMSProviderService
> endpoint: JMSProviderEndpoint
> in: <?xml version="1.0" encoding="UTF-8"?><request
> xmlns="http://www.finicity.com">
> <updateUserProfile>
> <lastName>shaggy</lastName>
> <firstName>sha</firstName>
> <userName>testhh</userName>
> <emailAddress>pj@.l</emailAddress>
> </updateUserProfile>
> </request>
> out: null
> ]
> at
> org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.getReplyDestination(JmsProviderEndpoint.java:462)
It looks to me like the JMS provider is trying to send the response
and it has no replyDestination. Please post JMS provider's xbean.xml
configuration file.
Bruce
--
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'
Apache ActiveMQ - http://activemq.org/
Apache Camel - http://activemq.org/camel/
Apache ServiceMix - http://servicemix.org/
Blog: http://bruceblog.org/