Thanks for your answer Sergey. I've had a look at the Transform feature but I can't found much usage examples of this feature.
How could I drop out my two elements elements *conditionnally *(depending on the value of another sibling element: if <typeEnvoi>2</typeEnvoi>)? Also, what would be the format to use to define the out transform Map? I see an example in the documentation: Map<String, String> outTransformMap = Collections.singletonMap("{ http://customers}*", "*"); But I can't figure out what it should be to drop the *2 *elements *(indicRdv *and *idJustification)*from the following envelope: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:validationCRI xmlns:ns2="http://example.mytests.com/"> <arg0> <cri> <numInt>0000012426332</numInt> *<indicRdv>false</indicRdv>* <!-- DELETE THIS ELEMENT -> *<idJustification>0</idJustification>* <!-- DELETE THIS ELEMENT -> </cri> <typeTransfert>2</typeTransfert> </arg0> </ns2:validationCRI> </soap:Body> </soap:Envelope> Thank you very much for your assistance. > On Tue, Aug 2, 2011 at 20:36, Sergey Beryozkin-5 [via CXF] < > ml-node+4659881-679811030-237...@n5.nabble.com> wrote: > >> Hi >> >> Have a look please at Transform feature, that should be achieved >> easily enough by >> configuring outDropElements property. >> http://cxf.apache.org/docs/transformationfeature.html >> In CXF 2.4.1 one has to list all elements to be dropped, which should >> be ok for your case, looks like >> two simple element siblings need to be dropped; >> Aki added a support for deep drops too for incoming payloads, will be >> available in 2.4.2; sooner rather later the out transform writer will >> follow the suit :-) >> >> Cheers, Sergey >> >> On Tue, Aug 2, 2011 at 6:47 PM, [hidden >> email]<http://user/SendEmail.jtp?type=node&node=4659881&i=0><[hidden >> email] <http://user/SendEmail.jtp?type=node&node=4659881&i=1>> wrote: >> >> > Hi everyone (this is my first post on this mailing-list) >> > >> > I would like to modify an outgoing SOAP Request. I would like to remove >> 2 >> > xml nodes from the Envelope's body. I managed to set up an Interceptor >> and >> > get the generated String value of the message set to the endpoint. >> > >> > However, the following code does not seem to work as the outgoing >> message is >> > not edited as expected. Does anyone have some code or ideas on how to do >> >> > this? >> > >> > public class MyOutInterceptor extends AbstractSoapInterceptor { >> > >> > public MyOutInterceptor() { >> > super(Phase.SEND); >> > } >> > >> > public void handleMessage(SoapMessage message) throws Fault { >> > // Get message content for dirty editing... >> > StringWriter writer = new StringWriter(); >> > CachedOutputStream cos = >> > (CachedOutputStream)message.getContent(OutputStream.class); >> > InputStream inputStream = cos.getInputStream(); >> > IOUtils.copy(inputStream, writer, "UTF-8"); >> > String content = writer.toString(); >> > >> > // remove the substrings from envelope... >> > content = content.replace("<idJustification>0</idJustification>", >> >> > ""); >> > content = content.replace("<indicRdv>false</indicRdv>", ""); >> > ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); >> >> > outputStream.write(content.getBytes(Charset.forName("UTF-8"))); >> > message.setContent(OutputStream.class, outputStream); >> > } >> > >> > Am I missing something? What is a better way to to this? >> > It seems too complicated to achieve my pretty simple requirement... >> > >> >> >> >> -- >> Sergey Beryozkin >> >> http://sberyozkin.blogspot.com >> Talend - http://www.talend.com >> >> >> ------------------------------ >> If you reply to this email, your message will be added to the discussion >> below: >> >> http://cxf.547215.n5.nabble.com/How-To-Modify-The-Raw-XML-message-of-an-Outbound-CXF-Request-tp4659707p4659881.html >> To unsubscribe from cxf-user, click >> here<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=547216&code=dG91dGNvbkBnbWFpbC5jb218NTQ3MjE2fC03MjM4ODg4OTM=>. >> >> > >