Hi

Thanks for advice, but I've changed it into this version:
 <eip:namespace-context id="nsContext">
   <eip:namespaces>
     <eip:namespace
prefix="tns">http://esbtoolkit.com/service2/types</eip:namespace>
   </eip:namespaces>
 </eip:namespace-context>

 <eip:content-based-router service="Guest:router" endpoint="router">
  <eip:rules>
     <eip:routing-rule>
       <eip:predicate>
         <eip:xpath-predicate xpath="/tns:Guest/tns:priority = '1'"
namespaceContext="#nsContext"/>
       </eip:predicate>
       <eip:target>
        <eip:exchange-target service="Guest:pipeline1" endpoint="pipeline1"
/>
       </eip:target>
    </eip:routing-rule>
   <eip:routing-rule>
  </eip:rules>
 </eip:content-based-router>

and "servicemix" refuses deploy project and returns error:
"Caused by:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: Class that bean class
[org.apache.servicemix.eip.support.NamespaceContextImpl] depends on not
found
Offending resource: file
[C:\ESB\fuse-esb-3.3.0.6\bin\data\smx\service-assemblies\service2\version_9\sus\servicemix-eip\service2-eip-su\xbean.xml]
Bean 'nsContext'; nested exception is java.lang.NoClassDefFoundError:
org/apache/servicemix/jbi/jaxp/NamespaceContextImpl

Should I implement "NamespaceContextImpl" or something like that? Any idea
what can be wrong?



Gert Vanthienen wrote:
> 
> L.S.,
> 
> And on top of that, you will probably have to add a namespaceContext 
> attribute to your xpath-predicate element and refer to a 
> NamespaceContext that defines the tns prefix you use in the XPath.  Have 
> a look at 
> http://servicemix.apache.org/servicemix-eip.html#servicemix-eip-ContentBasedrouter
>  
> for an example for specifying the attribute, on the bottom of the same 
> page you'll find a sample definition for a namespacecontext.
> 
> Regards,
> 
> Gert
> 
> Chris Custine wrote:
>> Your example doesn't match up very well because it looks like you have
>> swapped Guest for airClient in a few places (your splitter sends to
>> airClient:router but your service is called Guest:router for example).  I
>> suspect this is a cut and paste error in the email more than anything or
>> else your router wouldn't even be invoked.
>>
>> Aside from that, I think your XPath is wrong.  You are checking the value
>> of
>> an *attribute* called priority but the example xml needs to check for an
>> *element* called priority and the tns namespace is missing.  So
>> everything
>> is failing the test and going to the default.  Try changing your XPath to
>> this:
>>
>>       <eip:predicate>
>>         <eip:xpath-predicate xpath="/tns:Guest/tns:priority = '1'"/>
>>       </eip:predicate>
>>
>> Chris
>>
>>
>> On Sat, Apr 12, 2008 at 9:03 AM, Maniek <[EMAIL PROTECTED]> wrote:
>>
>>   
>>> Hi
>>>
>>> I've got a small problem with "content-based-router". I would like to
>>> send message which has a priority 1 to pipeline1 and message which has
>>> a priority 0 to pipeline2, but everything I send it goes to pipeline2.
>>> Is this a good configuriation "content-based-router"?
>>>
>>> Mario
>>>
>>> xbean.xml file:
>>>  <eip:content-based-router service="Guest:router" endpoint="router">
>>>   <eip:rules>
>>>     <eip:routing-rule>
>>>       <eip:predicate>
>>>         <eip:xpath-predicate xpath="/tns:Guest/@priority = '1'"/>
>>>       </eip:predicate>
>>>       <eip:target>
>>>         <eip:exchange-target service="Guest:pipeline1"
>>> endpoint="pipeline1"
>>> />
>>>       </eip:target>
>>>     </eip:routing-rule>
>>>     <eip:routing-rule>
>>>
>>>       <eip:target>
>>>         <eip:exchange-target service="Guest:pipeline2"
>>> endpoint="pipeline2"
>>> />
>>>       </eip:target>
>>>     </eip:routing-rule>
>>>   </eip:rules>
>>>  </eip:content-based-router>
>>>
>>>  <eip:xpath-splitter service="airClient:xpathSplitter"
>>> endpoint="xpath" xpath="/AirClients/*">
>>>   <eip:target>
>>>     <eip:exchange-target service="airClient:router" endpoint="router" />
>>>   </eip:target>
>>>  </eip:xpath-splitter>
>>>
>>> XML messages which is sended across spliter to router
>>> <?xml version='1.0' encoding='UTF-8'?>
>>> <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'
>>> xmlns:tns='http://esbtoolkit.com/service2/types'>
>>> <env:Body>
>>> <Guests>
>>>  <tns:Guest>
>>>   <tns:priority>0</tns:priority>
>>>   <tns:surname>Smith</tns:surname>
>>>  </tns:Guest>
>>>  <tns:Guest>
>>>   <tns:priority>1</tns:priority>
>>>   <tns:surname>Johnson</tns:surname>
>>>  </tns:Guest>
>>>  </Guests>
>>> </env:Body>
>>> </env:Envelope>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Content-based-router---problem-with-direction-tp16650238p16650238.html
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>>>
>>>     
>>
>>   
> 
> 
> 
> -----
> ---
> Gert Vanthienen
> http://www.anova.be
> 

-- 
View this message in context: 
http://www.nabble.com/Content-based-router---problem-with-direction-tp16650238p16676130.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to