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=>.
>>
>>
>
>

Reply via email to