No, still iam getting the same exception
Now my rule is like this
rule "Route to tap1"
when
me : Exchange( status == Exchange.ACTIVE, in : in != null )
eval( in.xpath("$org.apache.servicemix.senderEndpoint='cbr1'")
)
then
jbi.route( "service:http://intel.com/bescocr_031807/tap1" );
end
i tried to give
in.getProperty("org.apache.servicemix.senderEndpoint")='cbr1'
but even this doesn't work
Gert Vanthienen wrote:
>
> Arif,
>
> Sorry about the confusion with the syntax, there was an error in one of
> my previous posts. I think $org.apache.servicemix.sendEndpoint (without
> the curly braces) should work fine...
>
> Gert
>
> Arif Mohd wrote:
>> Hi gert,
>>
>> i have given like this
>>
>> rule "Route to tap1"
>> when
>> me : Exchange( status == Exchange.ACTIVE, in : in != null )
>> eval(
>> in.xpath("${org.apache.servicemix.senderEndpoint}='cbr1'") )
>>
>> then
>> jbi.route(
>> "service:http://xxx.com/bescocr_031807/tap1" );
>> end
>>
>> But iam getting the following exception
>> As of my understanding this xpath expression will be evaluated over the
>> message content, but in message content where we will have
>> "org.apache.servicemix.senderEndpoint" iam bit confused please help me
>> out
>> in this regard.
>>
>>
>> ERROR - DroolsComponent - Error processing exchange
>> InOnly[
>> id: ID:yyyy
>> status: Active
>> role: provider
>> service: {http://xxx.com/bescocr_031807}myDroolsService
>> endpoint: endpoint
>> in: <My Message>
>> ]
>> org.drools.RuntimeDroolsException:
>> javax.jbi.messaging.MessagingException:
>> javax.xml.xpath.XPathExpressionException
>> at org.drools.rule.EvalCondition.isAllowed(Unknown Source)
>> at org.drools.reteoo.EvalConditionNode.assertTuple(Unknown
>> Source)
>> at
>> org.drools.reteoo.LeftInputAdapterNode.createAndAssertTuple(Unknown
>> Source)
>> at org.drools.reteoo.LeftInputAdapterNode.assertObject(Unknown
>> Source)
>> at org.drools.reteoo.ObjectSource.propagateAssertObject(Unknown
>> Source)
>> at org.drools.reteoo.AlphaNode.assertObject(Unknown Source)
>> at org.drools.reteoo.ObjectSource.propagateAssertObject(Unknown
>> Source)
>> at org.drools.reteoo.AlphaNode.assertObject(Unknown Source)
>> at org.drools.reteoo.ObjectSource.propagateAssertObject(Unknown
>> Source)
>> at org.drools.reteoo.ObjectTypeNode.assertObject(Unknown Source)
>> at org.drools.reteoo.Rete.assertObject(Unknown Source)
>> at org.drools.reteoo.ReteooRuleBase.assertObject(Unknown Source)
>> at org.drools.reteoo.ReteooWorkingMemory.doAssertObject(Unknown
>> Source)
>> at org.drools.common.AbstractWorkingMemory.assertObject(Unknown
>> Source)
>> at org.drools.common.AbstractWorkingMemory.assertObject(Unknown
>> Source)
>> at
>> org.apache.servicemix.drools.model.JbiHelper.<init>(JbiHelper.java:57)
>> at
>> org.apache.servicemix.drools.DroolsEndpoint.populateWorkingMemory(DroolsEndpoint.java:159)
>> at
>> org.apache.servicemix.drools.DroolsEndpoint.drools(DroolsEndpoint.java:149)
>> at
>> org.apache.servicemix.drools.DroolsEndpoint.process(DroolsEndpoint.java:141)
>> at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
>> at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
>> at
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>> at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
>> at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>> at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>> at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>> at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>> at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>> at java.lang.Thread.run(Thread.java:595)
>> Caused by: javax.jbi.messaging.MessagingException:
>> javax.xml.xpath.XPathExpressionException
>> at
>> org.apache.servicemix.expression.JAXPXPathExpression.evaluate(JAXPXPathExpression.java:106)
>> at
>> org.apache.servicemix.drools.model.Message.xpath(Message.java:54)
>> at
>> org.apache.servicemix.drools.Rule_Route_to_tap1_0.eval0(Rule_Route_to_tap1_0.java:8)
>> at
>> org.apache.servicemix.drools.Rule_Route_to_tap1_0Eval0Invoker.evaluate(Rule_Route_to_tap1_0Eval0Invoker.java:19)
>> ... 29 more
>> Caused by: javax.xml.xpath.XPathExpressionException
>> at
>> com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:191)
>> at
>> org.apache.servicemix.expression.JAXPBooleanXPathExpression.evaluateXPath(JAXPBooleanXPathExpression.java:39)
>> at
>> org.apache.servicemix.expression.JAXPXPathExpression.evaluate(JAXPXPathExpression.java:99)
>> ... 32 more
>> Caused by: javax.xml.transform.TransformerException: Unknown error in
>> XPath.
>> at
>> com.sun.org.apache.xpath.internal.XPath.execute(XPath.java:296)
>> at
>> com.sun.org.apache.xpath.internal.XPath.execute(XPath.java:234)
>> at
>> com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:123)
>> at
>> com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:97)
>> at
>> com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:178)
>> ... 34 more
>> Caused by: java.lang.NullPointerException
>> at
>> org.apache.servicemix.expression.MessageVariableResolver.resolveVariable(MessageVariableResolver.java:63)
>> at
>> com.sun.org.apache.xpath.internal.jaxp.JAXPVariableStack.getVariableOrParam(JAXPVariableStack.java:60)
>> at
>> com.sun.org.apache.xpath.internal.operations.Variable.execute(Variable.java:213)
>> at
>> com.sun.org.apache.xpath.internal.operations.Operation.execute(Operation.java:106)
>> at
>> com.sun.org.apache.xpath.internal.XPath.execute(XPath.java:268)
>> ... 38 more
>>
>> Gert Vanthienen wrote:
>>
>>> Arif Mohd,
>>>
>>>
>>> Doesn't the same syntax also works with servicemix-drools? Something
>>> like
>>> eval( in.xpath("$org.apache.servicemix.senderEndpoint ...") )
>>>
>>> The most convenient way to create your own Auditor by extending
>>> ServiceMix's AbstractAuditor. Secondly, you have to register your
>>> auditor in the <sm:services/> section in conf/servicemix.xml. From that
>>> moment on, every message exchange that flows through the ESB, will
>>> trigger your Auditor's exchangeSent() method, so this allows you to do
>>> logging, archiving, ...
>>>
>>>
>>> Gert
>>>
>>>
>>> Arif Mohd wrote:
>>>
>>>> Hi Gert,
>>>> Firstly i want to know the sender endpoint from drools component(i.e,
>>>> i
>>>> want to know how to write a rule for determining sender endpoint)
>>>>
>>>> Secondly you are talking about message auditor, could you please
>>>> elobarate
>>>> how to do this? if possible with example.
>>>>
>>>>
>>>> Gert Vanthienen wrote:
>>>>
>>>>
>>>>> Arif Mohd,
>>>>>
>>>>>
>>>>> I think this is possible if you use the
>>>>> ${org.apache.servicemix.senderEndpoint} property in your CBR's xpath
>>>>> expressions to determine the sender endpoint. However, if you use the
>>>>> tap's for debugging purposes, I would suggest you build a message
>>>>> auditor that logs the messages somehow (whatever is done by your
>>>>> wiretaps right now). This way, if you do not need the logging, you
>>>>> simply disable the auditor in your ServiceMix configuration.
>>>>>
>>>>> This would also allow you to remove all debugging configuration from
>>>>> your SA, so it only contains real routing/service configuration. This
>>>>> improves the maintainability/readability of your configuration a lot
>>>>> (recently done that for one of my own projects, which also had
>>>>> wiretaps
>>>>> all over...)
>>>>>
>>>>>
>>>>> Gert
>>>>>
>>>>> Arif Mohd wrote:
>>>>>
>>>>>
>>>>>> Thank you gert,
>>>>>> 1) Iam able to call my rules now without any error.
>>>>>> 2) The example i was using is simply routing a message based on
>>>>>> the
>>>>>> content of message, which can be easily done with Content Based
>>>>>> Router
>>>>>> Now i want to do routing based on the source component of the
>>>>>> message
>>>>>> from where the message is coming i.e, i want to remove the tap's(used
>>>>>> for
>>>>>> debugging) at runtime using drools.
>>>>>>
>>>>>> My component setup is
>>>>>>
>>>>>> JMS queue(Consumer)-->eip:Tap1-->eip:Content Based
>>>>>> Router-->eip:Tap2--->eip:Transformer
>>>>>>
>>>>>> Now i want to enable/disable Tap1 and Tap2 during runtime by using
>>>>>> drools,
>>>>>> for that purpose i planned to have my component setup as follows
>>>>>>
>>>>>> JMS
>>>>>> queue(Consumer)-->SA(DroolsComponent)eip:Tap1-->SA(DroolsComponent)--->eip:Content
>>>>>> Based
>>>>>> Router-->SA(DroolsComponent)--->eip:Tap2--->SA(DroolsComponent)-->eip:Transformer
>>>>>>
>>>>>> the logic in rules files should be as follows
>>>>>>
>>>>>> if source component is JMS queue, route to Tap1
>>>>>> if source component is Tap1, route to Content based router
>>>>>> if source component is ContentBaseRouter, route to Tap2
>>>>>> if source component is Tap2, route to Transformer
>>>>>>
>>>>>>
>>>>>> How can i write this kind of rules,please help me in this regard.
>>>>>> Also let me know is it a feasible way of adding/removing components
>>>>>> logically?
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Gert Vanthienen wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Arif,
>>>>>>>
>>>>>>>
>>>>>>> You can find a description on how to form this kind of URIs on
>>>>>>> http://incubator.apache.org/servicemix/uris.html.
>>>>>>>
>>>>>>> If you think the URI is correct but still have these 'Cannot find
>>>>>>> route
>>>>>>> to ...' errors, you can use a JMX console to verify which endpoints
>>>>>>> are
>>>>>>> actually available on the ESB. I think your service URI contained
>>>>>>> the
>>>>>>> endpoint name, where it should only hold the service name.
>>>>>>>
>>>>>>>
>>>>>>> Gert
>>>>>>>
>>>>>>> Arif Mohd wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Hi Rabi,
>>>>>>>>
>>>>>>>> I didn't understand this concept of giving service name as
>>>>>>>> "service:http://xxx.com/bescocr_031807/tap1" but still it is not
>>>>>>>> working
>>>>>>>>
>>>>>>>> Can you please elobarate what is the meaning of the above
>>>>>>>> statement,
>>>>>>>> i
>>>>>>>> agree that previously i have missed to preceede the service name
>>>>>>>> with
>>>>>>>> namespace i.e, i should have given like
>>>>>>>>
>>>>>>>> jbi.route( "service:bescocr:tap1" );
>>>>>>>>
>>>>>>>> But even the above statement is not working
>>>>>>>>
>>>>>>>>
>>>>>>>> rabi wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> in your routing.drl replace
>>>>>>>>>
>>>>>>>>> jbi.route( "bescocr::tap1" ); with
>>>>>>>>>
>>>>>>>>> jbi.route("service:http://xxx.com/bescocr_031807
>>>>>>>>> <https://webmail.wipro.com/exchweb/bin/redir.asp?URL=http://xxx.com/bescocr_031807>
>>>>>>>>> /tap1");
>>>>>>>>>
>>>>>>>>> and jbi.route( "bescocr::tap2" ); with
>>>>>>>>>
>>>>>>>>> jbi.route("service:http://xxx.com/bescocr_031807
>>>>>>>>> <https://webmail.wipro.com/exchweb/bin/redir.asp?URL=http://xxx.com/bescocr_031807>
>>>>>>>>> /tap2");
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Rabi Mishra
>>>>>>>>> http://rabisblog.blogspot.com/
>>>>>>>>>
>>>>>>>>> ________________________________
>>>>>>>>>
>>>>>>>>> From: Arif Mohd [mailto:[EMAIL PROTECTED]
>>>>>>>>> Sent: Wed 6/20/2007 7:25 PM
>>>>>>>>> To: [email protected]
>>>>>>>>> Subject: Problem while invoking rule by using drools component
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Iam having the following setup
>>>>>>>>>
>>>>>>>>> JMS queue(Consumer)-->eip:Content Based
>>>>>>>>> Router-->SA(DroolsComponent)-->eip:TAP1 or eip:TAP2(Based on rule
>>>>>>>>> base)
>>>>>>>>>
>>>>>>>>> part of xbean.xml for "eip:Content Based Router" is
>>>>>>>>>
>>>>>>>>> <eip:routing-rule>
>>>>>>>>> <eip:predicate>
>>>>>>>>> <eip:xpath-predicate xpath="/Record/eid = 100"
>>>>>>>>> namespaceContext="#nsContext" />
>>>>>>>>> </eip:predicate>
>>>>>>>>> <eip:target>
>>>>>>>>> <eip:exchange-target service="bescocr:myDroolsService"
>>>>>>>>> />
>>>>>>>>> </eip:target>
>>>>>>>>> </eip:routing-rule>
>>>>>>>>>
>>>>>>>>> xbean.xml for DroolsComponent(SU) is
>>>>>>>>>
>>>>>>>>> <beans xmlns:drools="http://servicemix.apache.org/drools/1.0"
>>>>>>>>> xmlns:bescocr="http://xxx.com/bescocr_031807">
>>>>>>>>> <drools:endpoint
>>>>>>>>> service="bescocr:myDroolsService"
>>>>>>>>> endpoint="endpoint"
>>>>>>>>> ruleBaseResource="classpath:routing.drl"/>
>>>>>>>>> </beans>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> routing.drl is
>>>>>>>>>
>>>>>>>>> package org.apache.servicemix.drools
>>>>>>>>> import org.apache.servicemix.drools.model.Exchange;
>>>>>>>>> global org.apache.servicemix.drools.model.JbiHelper jbi;
>>>>>>>>>
>>>>>>>>> rule "Route to tap1"
>>>>>>>>> when
>>>>>>>>> me : Exchange( status == Exchange.ACTIVE, in : in
>>>>>>>>> !=
>>>>>>>>> null
>>>>>>>>> )
>>>>>>>>> eval( in.xpath("/Record/eid = 100") )
>>>>>>>>> then
>>>>>>>>> jbi.route( "bescocr::tap1" );
>>>>>>>>> end
>>>>>>>>>
>>>>>>>>> rule "Route to tap2"
>>>>>>>>> when
>>>>>>>>> me : Exchange( status == Exchange.ACTIVE, in : in
>>>>>>>>> !=
>>>>>>>>> null
>>>>>>>>> )
>>>>>>>>> eval( in.xpath("/Record/eid = 101") )
>>>>>>>>> then
>>>>>>>>> jbi.route( "bescocr::tap2" );
>>>>>>>>> end
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> with the above setup iam getting the following exception "for
>>>>>>>>> service:
>>>>>>>>> null
>>>>>>>>> and interface: null" the exception is as follows, do i need to set
>>>>>>>>> something
>>>>>>>>> else in xbean.xml?
>>>>>>>>>
>>>>>>>>> javax.jbi.messaging.MessagingException: Could not find route for
>>>>>>>>> exchange:
>>>>>>>>> InOnly[
>>>>>>>>> id: ID:EC4T16INT165110-4730-1182344415869-7:0
>>>>>>>>> status: Active
>>>>>>>>> role: provider
>>>>>>>>> in: <My Message>
>>>>>>>>> ] for service: null and interface: null
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:295)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.security.SecuredBroker.sendExchangePacket(SecuredBroker.java:80)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:793)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:381)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:456)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:428)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.EndpointDeliveryChannel.sendSync(EndpointDeliveryChannel.java:88)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.model.JbiHelper.route(JbiHelper.java:109)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.Rule_Route_to_tap1_0.consequence(Rule_Route_to_tap1_0.java:11)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.Rule_Route_to_tap1_0ConsequenceInvoker.evaluate(Rule_Route_to_tap1_0ConsequenceInvoker.ja
>>>>>>>>> va:19)
>>>>>>>>> at org.drools.common.DefaultAgenda.fireActivation(Unknown
>>>>>>>>> Source)
>>>>>>>>> at org.drools.common.DefaultAgenda.fireNextItem(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> org.drools.common.AbstractWorkingMemory.fireAllRules(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> org.drools.common.AbstractWorkingMemory.fireAllRules(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.DroolsEndpoint.drools(DroolsEndpoint.java:150)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.DroolsEndpoint.process(DroolsEndpoint.java:141)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>>>>> at
>>>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>>>>>>>> at
>>>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>>>>>>>> at java.lang.Thread.run(Thread.java:595)
>>>>>>>>> ERROR - DroolsComponent - Error processing exchange
>>>>>>>>> InOnly[
>>>>>>>>> id: ID:EC4T16INT165110-4730-1182344415869-3:2
>>>>>>>>> status: Active
>>>>>>>>> role: provider
>>>>>>>>> service: {http://xxx.com/bescocr_031807}myDroolsService
>>>>>>>>> endpoint: endpoint
>>>>>>>>> in: <My Message>
>>>>>>>>> ]
>>>>>>>>> org.drools.spi.ConsequenceException:
>>>>>>>>> javax.jbi.messaging.MessagingException:
>>>>>>>>> Could not find route for exchange: InOnly[
>>>>>>>>> id: ID:EC4T16INT165110-4730-1182344415869-7:0
>>>>>>>>> status: Active
>>>>>>>>> role: provider
>>>>>>>>> in: <My Message>
>>>>>>>>> ] for service: null and interface: null
>>>>>>>>> at org.drools.common.DefaultAgenda.fireActivation(Unknown
>>>>>>>>> Source)
>>>>>>>>> at org.drools.common.DefaultAgenda.fireNextItem(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> org.drools.common.AbstractWorkingMemory.fireAllRules(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> org.drools.common.AbstractWorkingMemory.fireAllRules(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.DroolsEndpoint.drools(DroolsEndpoint.java:150)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.DroolsEndpoint.process(DroolsEndpoint.java:141)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>>>>> at
>>>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>>>>>>>> at
>>>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>>>>>>>> at java.lang.Thread.run(Thread.java:595)
>>>>>>>>> Caused by: javax.jbi.messaging.MessagingException: Could not find
>>>>>>>>> route
>>>>>>>>> for
>>>>>>>>> exchange: InOnly[
>>>>>>>>> id: ID:EC4T16INT165110-4730-1182344415869-7:0
>>>>>>>>> status: Active
>>>>>>>>> role: provider
>>>>>>>>> in: <My Message>
>>>>>>>>> ] for service: null and interface: null
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:295)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.security.SecuredBroker.sendExchangePacket(SecuredBroker.java:80)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:793)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:381)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:456)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:428)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.EndpointDeliveryChannel.sendSync(EndpointDeliveryChannel.java:88)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.model.JbiHelper.route(JbiHelper.java:109)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.Rule_Route_to_tap1_0.consequence(Rule_Route_to_tap1_0.java:11)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.drools.Rule_Route_to_tap1_0ConsequenceInvoker.evaluate(Rule_Route_to_tap1_0ConsequenceInvoker.ja
>>>>>>>>> va:19)
>>>>>>>>> ... 16 more
>>>>>>>>> ERROR - JmsComponent - Error processing exchange
>>>>>>>>> InOnly[
>>>>>>>>> id: ID:EC4T16INT165110-4730-1182344415869-4:0
>>>>>>>>> status: Error
>>>>>>>>> role: consumer
>>>>>>>>> service: {http://xxx.com/bescocr_031807}JmsToPipeTapSvc
>>>>>>>>> endpoint: tap
>>>>>>>>> in: <My Message>
>>>>>>>>> error: org.drools.spi.ConsequenceException:
>>>>>>>>> javax.jbi.messaging.MessagingException: Could not find route for
>>>>>>>>> exchange:
>>>>>>>>> InOnly[
>>>>>>>>> id: ID:EC4T16INT165110-4730-1182344415869-7:0
>>>>>>>>> status: Active
>>>>>>>>> role: provider
>>>>>>>>> in: <My Message>
>>>>>>>>> ] for service: null and interface: null
>>>>>>>>> ]
>>>>>>>>> java.lang.UnsupportedOperationException: A destination must be
>>>>>>>>> specified.
>>>>>>>>> at
>>>>>>>>> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:448)
>>>>>>>>> at
>>>>>>>>> org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:75)
>>>>>>>>> at
>>>>>>>>> org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:60)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.process(MultiplexingConsumerProcessor.java:125)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:463)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>>>>> at
>>>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>>>>>>>> at
>>>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>>>>>>>> at java.lang.Thread.run(Thread.java:595)
>>>>>>>>> ERROR - JmsComponent - Error setting exchange
>>>>>>>>> status
>>>>>>>>> to
>>>>>>>>> ERROR
>>>>>>>>> javax.jbi.messaging.MessagingException: illegal call to send /
>>>>>>>>> sendSync
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:571)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:370)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:417)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:58)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>>>>>>>>> at
>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>>>>> at
>>>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>>>>>>>> at
>>>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>>>>>>>> at java.lang.Thread.run(Thread.java:595)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>>>>> http://www.nabble.com/Problem-while-invoking-rule-by-using-drools-component-tf3952519s12049.html#a11213830
>>>>>>>>> Sent from the ServiceMix - User mailing list archive at
>>>>>>>>> Nabble.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The information contained in this electronic message and any
>>>>>>>>> attachments
>>>>>>>>> to this message are intended for the exclusive use of the
>>>>>>>>> addressee(s)
>>>>>>>>> and
>>>>>>>>> may contain proprietary, confidential or privileged information.
>>>>>>>>> If
>>>>>>>>> you
>>>>>>>>> are not the intended recipient, you should not disseminate,
>>>>>>>>> distribute
>>>>>>>>> or
>>>>>>>>> copy this e-mail. Please notify the sender immediately and destroy
>>>>>>>>> all
>>>>>>>>> copies of this message and any attachments.
>>>>>>>>>
>>>>>>>>> WARNING: Computer viruses can be transmitted via email. The
>>>>>>>>> recipient
>>>>>>>>> should check this email and any attachments for the presence of
>>>>>>>>> viruses.
>>>>>>>>> The company accepts no liability for any damage caused by any
>>>>>>>>> virus
>>>>>>>>> transmitted by this email.
>>>>>>>>>
>>>>>>>>> www.wipro.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/Problem-while-invoking-rule-by-using-drools-component-tf3952519s12049.html#a11559123
Sent from the ServiceMix - User mailing list archive at Nabble.com.