Hi,

I'm using servicemix-drools component to implement a content based router.
but i'm getting below mentioned error 

org.drools.RuntimeDroolsException: javax.jbi.messaging.MessagingException:
javax.xml.xpath.XPathExpressionException

Caused by: javax.xml.transform.TransformerException: Prefix must resolve to
a namespace: typ

my xbean looks like:

<beans xmlns:drools="http://servicemix.apache.org/drools/1.0";
       xmlns:scoring="http://thirdpillar.com/scoring";>

  <drools:endpoint service="scoring:bureaurouter"
                   endpoint="endpoint"
                   ruleBaseResource="classpath:router.drl"
                   namespaceContext="#nsContext" />


  <drools:namespace-context id="nsContext">
    <drools:namespaces>
      <drools:namespace
prefix="typ">http://thirdpillar.com/scoring</drools:namespace>
    </drools:namespaces>
  </drools:namespace-context>

</beans>


and my drl looks like:

package org.apache.servicemix.drools
 
import org.apache.servicemix.drools.model.Exchange;

global org.apache.servicemix.drools.model.JbiHelper jbi;
 
rule "Unspecified id"
        when
                me : Exchange( status == Exchange.ACTIVE, in : in != null )
                eval( in.xpath("/test/@id <= 0") )
        then
                jbi.fault( "<fault>Id must be > 0</fault>" );
end

rule "Route to target1"
        when
                me : Exchange( status == Exchange.ACTIVE, in : in != null )
                eval( in.xpath("//typ:One = experian") )
        then
                jbi.route( "log:scoring-scoringrouter" );
end


I Request for any urgent help on this.

best regards
tarandeep

-- 
View this message in context: 
http://www.nabble.com/Servicemix-drools-component---namespace-in-drl-not-bound-error-javax.xml.xpath.XPathExpressionException-tp17292757p17292757.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to