You can do this with the camel-saxon component. I've added a similar test at
http://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/builder/saxon/XQueryTransformTest.java
raulvk wrote:
Hi,
I am using Camel to control the flow of validation, transformation and
routing tasks that are applied to messages entering via ServiceMix CXF's
Binding Component. The CXF consumer endpoint sends the message straightaway
to Camel.
When validating the incoming message, I realized that it is surrounded by
the <jbi:message> wrapper.
How can I get rid of it so as to send the ACTUAL XML message to Camel's
validator?
I have tried the following:
- .setBody().xpath("//jbi:message/jbi:part/can:IncomingMessage",
m).to("validator:file:///<schemaLocation>")
AND
. .transform().xpath("//jbi:message/jbi:part/can:IncomingMessage",
m).to("validator:file:///<schemaLocation>")
m is bound to a HashMap containing the NameSpace mappings.
However, the result is always an empty XML Body, which provokes an exception
at the Validator.
Is there an easy way of EXTRACTING the XML payload?
Thank you.