title: Change the prefix in CXF with interceptor
body: <p>I am trying to change </p>
  
  <p><code>&lt;soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;
     &lt;soap:Body&gt;
  </code>
  to </p>
  
  <p><code>&lt;s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"&gt;
     &lt;s:Body&gt;</code></p>
  
  <p>I am using Mule and CXF. We are exposing a SOAP service and the wsdl is from a legacy system (we imported it and generated the classes). It is necessary to change the prefix from 'soap' to just 's'. I see that this is possible with an Interceptor, but for some reason I cant make it work. Here is the code for my interceptor:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>package se.comaround.interceptors;
  
  import java.util.HashMap;
  import java.util.Map;
  
  import org.apache.cxf.binding.soap.SoapMessage;
  import org.apache.cxf.phase.AbstractPhaseInterceptor;
  import org.apache.cxf.phase.Phase;
  
  public class ComAroundSoapResponceInterceptor extends
    AbstractPhaseInterceptor&lt;SoapMessage&gt; {
  
   public ComAroundSoapResponceInterceptor() {
    super(Phase.PREPARE_SEND);
   }
  
   public void handleMessage(SoapMessage message) {
    Map&lt;String, String&gt; hmap = new HashMap&lt;String, String&gt;();
    hmap.put("s", "http://schemas.xmlsoap.org/soap/envelope/");
    message.setContextualProperty("soap.env.ns.map", hmap);
    message.setContextualProperty("disable.outputstream.optimization", true);
  
    System.out.println("Set up");
   }
  
  }</code></pre>
  </div>
  </div>
  </p>
  
  <p>Furthermore, can I change the prefixes for the schemas inside the response?</p>