[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xmlblaster] xpath access filter with get()
I've been successful in using the xpath access filter with subscription messages, but not with get. I've been using the HelloWordPublish & HelloWorldSubscribe to test it:
java javaclients.HelloWorldPublish -oid Hello -content "<msgHandler/>"
If I use:
java javaclients.HelloWorldSubscribe -oid Hello -filter.type XPathFilter -filter.query "//*[contains(name(),'msgHandler')]"
(the published message is returned as expected)
If I use:
java javaclients.HelloWorldSubscribe -oid Hello -filter.type XPathFilter -filter.query "//*[contains(name(),'blah')]"
(no messages are returned, which is expected since the original msg content doesn't include <blah> as a tag)
But if I use Get instead:
java javaclients.HelloWorldGet -oid Hello -filter.type XPathFilter -filter.query "//*[contains(name(),'blah')]"
(the publish message is returned, but that is unexpected because I'm only supposed to be filtering for the content tag <blah>)
Am I missing something here, or goes the xpath access filter not work with get()? The documentation says it should. Can anyone point out what I'm doing wrong?
It is a bug:
Starting xmlBlaster server with '-trace[mime] true' gave this logging output:
Filter plugin type=XPathFilter version=1.0 is loaded
but does not support mime=text/plain mimeExtended=1.0
The bug was that the get() contentMime was used to look up
the mime plugin.
The code is now corrected to use the message mime type.
The fix is available with cvs.
Thanks for this detailed report,