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.