Are we not using the Topics/Message Content XPath correctly?

This is our Subscription Request (appears to succeed - no errors returned):

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";>
<env:Header />
 <env:Body>
    <wsnt:Subscribe
      xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2";
      xmlns:wsa="http://www.w3.org/2005/08/addressing";>
      <wsnt:ConsumerReference>
        <wsa:Address>
          endpoint:http://test/MyS1PojoService/myS1PojoSu       
</wsa:Address>
      </wsnt:ConsumerReference>
      <wsnt:Filter>
        <wsnt:TopicExpression
Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple";>TransferDocumentSubmitted</wsnt:TopicExpression>
<wsnt:MessageContent
Dialect=”http://www.w3.org/TR/1999/REC-xpath-19991116”>/TransferDocumentSubmitted/TransferDocument/FulfillingBusinessUnit/@id=123</wsnt:MessageContent>
      </wsnt:Filter>
    </wsnt:Subscribe>
  </env:Body>
 </env:Envelope>

And our Notify sent to the WSN2005 SE (results in no notifications from the
WSN2005 SE):

<wsnt:Notify 
  xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2";>
  <wsnt:NotificationMessage>
    <wsnt:Topic>TransferDocumentSubmitted</wsnt:Topic>
    <wsnt:Message>
<TransferDocumentSubmitted hour="10">
        <TransferDocument>
                <FulfillingBusinessUnit id="123"/>
                <ReceivingBusinessUnit id="456"/>
                <LineItem quantity="100"><Item id="123456789" 
type="Shirt"/></LineItem>
        </TransferDocument>
</TransferDocumentSubmitted>
</wsnt:Message>
  </wsnt:NotificationMessage>
</wsnt:Notify>


ObjectOrange wrote:
> 
> Thanks Gnodet! Is there also an example of how to use the MessageContent
> filters on Apache's site or some other site?
> 
> 
> gnodet wrote:
>> 
>> I would load the WS-Notification component into eclipse, run
>> servicemix in debug mode by setting the SERVICEMIX_DEBUG=true
>> environment variable before launching servicemix from the console.
>> Then connet to ServiceMix using your IDE, put a breakpoint in the
>> JmsSubscription class, on the onMessage() method.
>> The breakpoint should be hit when a JMS message will be received,
>> which means the subscripion has received a message on the subscribed
>> topic.
>> Maybe the filter fails somehow ...
>> 
>> On Wed, Oct 8, 2008 at 6:43 PM, ObjectOrange
>> <[EMAIL PROTECTED]> wrote:
>>>
>>> We're now getting a Subscription using the MessageContent filter but no
>>> notify from the WSN SE when a message is sent to it satisfying the
>>> MessageContent's XPath. We've tried all different ways to set up the
>>> subscription and send the message. Our next step is to launch the
>>> ServiceMix
>>> JVM in debug mode and hook into it with our IDE to step through the code
>>> and
>>> our Engineer on this has never done that. Would you happen to have an
>>> example of this? We have to be missing something simple.
>>>
>>>
>>> ObjectOrange wrote:
>>>>
>>>> This was so trivial, sorry for wasting your time! Thanks for the help!
>>>>
>>>>
>>>> ObjectOrange wrote:
>>>>>
>>>>> Actually, I think we found it. It doesn't like a type of " we were
>>>>> using.
>>>>>
>>>>>
>>>>> ObjectOrange wrote:
>>>>>>
>>>>>> Attached is the log.
>>>>>>
>>>>>>
>>>>>> gnodet wrote:
>>>>>>>
>>>>>>> Could you check the servicemix log ? I guess the exchange has an
>>>>>>> error
>>>>>>> status set by the WS-Notification SE somehow and it should be
>>>>>>> logged.
>>>>>>> If this is the case, can you paste the log snipped ?
>>>>>>>
>>>>>>> On Tue, Oct 7, 2008 at 5:22 PM, ObjectOrange
>>>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>>>>
>>>>>>>> Yes, when we remove the MessageContent tags, it works fine.
>>>>>>>>
>>>>>>>> We're using Servicemix 3.2.2 for every component.
>>>>>>>>
>>>>>>>>
>>>>>>>> gnodet wrote:
>>>>>>>>>
>>>>>>>>> Does the same request work when you don't specify the filter ?
>>>>>>>>> Which version of servicemix-http component do you use ?
>>>>>>>>>
>>>>>>>>> On Mon, Oct 6, 2008 at 9:26 PM, ObjectOrange
>>>>>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>>>>>>
>>>>>>>>>> We tried with no luck! :(
>>>>>>>>>>
>>>>>>>>>> Here's our Subscription request and reply:
>>>>>>>>>>
>>>>>>>>>> Request:
>>>>>>>>>> <env:Envelope
>>>>>>>>>> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";>
>>>>>>>>>> <env:Header />
>>>>>>>>>>  <env:Body>
>>>>>>>>>>    <wsnt:Subscribe
>>>>>>>>>>      xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2";
>>>>>>>>>>      xmlns:wsa="http://www.w3.org/2005/08/addressing";>
>>>>>>>>>>      <wsnt:ConsumerReference>
>>>>>>>>>>
>>>>>>>>>> <wsa:Address>endpoint:http://test/MyS1PojoService/myS1PojoSu</wsa:Address>
>>>>>>>>>>      </wsnt:ConsumerReference>
>>>>>>>>>>      <wsnt:Filter>
>>>>>>>>>>        <wsnt:TopicExpression
>>>>>>>>>> Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple";>DocumentSubmitted</wsnt:TopicExpression>
>>>>>>>>>> <wsnt:MessageContent
>>>>>>>>>> Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116";>/DocumentSubmitted/@id=123</wsnt:MessageContent>
>>>>>>>>>>      </wsnt:Filter>
>>>>>>>>>>    </wsnt:Subscribe>
>>>>>>>>>>  </env:Body>
>>>>>>>>>>  </env:Envelope>
>>>>>>>>>>
>>>>>>>>>> Response:
>>>>>>>>>>
>>>>>>>>>> STATUS: 500
>>>>>>>>>>
>>>>>>>>>> <html>
>>>>>>>>>> <head>
>>>>>>>>>> <meta http-equiv="Content-Type" content="text/html;
>>>>>>>>>> charset=ISO-8859-1"/>
>>>>>>>>>> <title>Error 500 java.lang.NullPointerException</title>
>>>>>>>>>> </head>
>>>>>>>>>> <body><h2>HTTP ERROR:
>>>>>>>>>> 500</h2><pre>java.lang.NullPointerException</pre>
>>>>>>>>>> <p>RequestURI=/Broker/</p><h3>Caused
>>>>>>>>>> by:</h3><pre>java.lang.Exception:
>>>>>>>>>> java.lang.NullPointerException
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:198)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>>>>>>>>>>
>>>>>>>>>>          at org.mortbay.jetty.Server.handle(Server.java:320)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:374)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:506)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>>>>>>>>>>
>>>>>>>>>> Caused by: java.lang.NullPointerException
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.expectText(UnmarshallingContext.java:442)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.characters(SAXConnector.java:112)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:86)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:266)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:199)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:172)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:120)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:103)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.wsn.component.WSNEndpoint.process(WSNEndpoint.java:128)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>>>>>>>>
>>>>>>>>>>          at java.lang.Thread.run(Thread.java:595)
>>>>>>>>>>
>>>>>>>>>> </pre>
>>>>>>>>>>
>>>>>>>>>> <h3>Caused by:</h3><pre>java.lang.NullPointerException
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.expectText(UnmarshallingContext.java:442)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.characters(SAXConnector.java:112)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:86)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:266)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:199)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:172)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:120)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:103)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.wsn.component.WSNEndpoint.process(WSNEndpoint.java:128)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>>>>>>>>
>>>>>>>>>>          at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>>>>>>>>
>>>>>>>>>>          at java.lang.Thread.run(Thread.java:595)
>>>>>>>>>> </pre>
>>>>>>>>>> <p><small> http://jetty.mortbay.org/ Powered by Jetty://
>>>>>>>>>> </small></p><br/>
>>>>>>>>>> </body>
>>>>>>>>>> </html>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> gnodet wrote:
>>>>>>>>>>>
>>>>>>>>>>> Yes, XPath is supported for filtering message contents.
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Oct 6, 2008 at 7:07 PM, ObjectOrange
>>>>>>>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I was mistaken; by the OASIS standards, it's a Message Content
>>>>>>>>>>>> Filter
>>>>>>>>>>>> using
>>>>>>>>>>>> XPath. Are these supported?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> gnodet wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Queries are not supported.  However, you should be able to
>>>>>>>>>>>>> leverage
>>>>>>>>>>>>> the underlying ActiveMQ broker that supports composite and
>>>>>>>>>>>>> virtual
>>>>>>>>>>>>> destinations (see
>>>>>>>>>>>>> http://activemq.apache.org/composite-destinations.html and
>>>>>>>>>>>>> http://activemq.apache.org/virtual-destinations.html).
>>>>>>>>>>>>> If this does not fullfil your needs, feel free to raise a
>>>>>>>>>>>>> JIRA.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, Oct 6, 2008 at 5:17 PM, ObjectOrange
>>>>>>>>>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Does anyone know if Topic filtering using XPath Query
>>>>>>>>>>>>>> Expressions is
>>>>>>>>>>>>>> supported? We're unable to create a Subscription with a
>>>>>>>>>>>>>> QueryExpression.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thx!
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>>>> http://www.nabble.com/WSN-2005-SE-Query-Expression-XPath-Support-tp19839994p19839994.html
>>>>>>>>>>>>>> Sent from the ServiceMix - User mailing list archive at
>>>>>>>>>>>>>> Nabble.com.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>> Guillaume Nodet
>>>>>>>>>>>>> ------------------------
>>>>>>>>>>>>> Blog: http://gnodet.blogspot.com/
>>>>>>>>>>>>> ------------------------
>>>>>>>>>>>>> Open Source SOA
>>>>>>>>>>>>> http://open.iona.com
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>> http://www.nabble.com/WSN-2005-SE-Query-Expression-XPath-Support-tp19839994p19842070.html
>>>>>>>>>>>> Sent from the ServiceMix - User mailing list archive at
>>>>>>>>>>>> Nabble.com.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Cheers,
>>>>>>>>>>> Guillaume Nodet
>>>>>>>>>>> ------------------------
>>>>>>>>>>> Blog: http://gnodet.blogspot.com/
>>>>>>>>>>> ------------------------
>>>>>>>>>>> Open Source SOA
>>>>>>>>>>> http://open.iona.com
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> View this message in context:
>>>>>>>>>> http://www.nabble.com/WSN-2005-SE-Query-Expression-XPath-Support-tp19839994p19844621.html
>>>>>>>>>> Sent from the ServiceMix - User mailing list archive at
>>>>>>>>>> Nabble.com.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Cheers,
>>>>>>>>> Guillaume Nodet
>>>>>>>>> ------------------------
>>>>>>>>> Blog: http://gnodet.blogspot.com/
>>>>>>>>> ------------------------
>>>>>>>>> Open Source SOA
>>>>>>>>> http://open.iona.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> http://www.nabble.com/WSN-2005-SE-Query-Expression-XPath-Support-tp19839994p19860597.html
>>>>>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Cheers,
>>>>>>> Guillaume Nodet
>>>>>>> ------------------------
>>>>>>> Blog: http://gnodet.blogspot.com/
>>>>>>> ------------------------
>>>>>>> Open Source SOA
>>>>>>> http://open.iona.com
>>>>>>>
>>>>>>>
>>>>>>  http://www.nabble.com/file/p19881492/log.txt log.txt
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/WSN-2005-SE-Query-Expression-XPath-Support-tp19839994p19882773.html
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> 
>> -- 
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> ------------------------
>> Open Source SOA
>> http://open.iona.com
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/WSN-2005-SE-Query-Expression-XPath-Support-tp19839994p19901496.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to