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#a11558133
Sent from the ServiceMix - User mailing list archive at Nabble.com.