Raul,
If you are using a recent version of ServiceMix, you can set the
attribute useJBIWrapper="false" on the servicemix-cxf-bc consumer
endpoint. This will send the plain XML message into the ESB, without
the JBI-specific wrapper elements around it.
Regards,
Gert
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.