title: WSO2 ESB - transform a HTTP 202 accepted response
body: <p>The Endpoint_BPS_CreateCaseService/UpdateCaseService endpoints below both point to one-way BPEL services running on WSO2 BPS. WSO2 BPS returns a HTTP 202 accepted message instantly when they are invoked.</p>
  
  <p>The client application that I am using will throw a fault if it does not get a valid SOAP envelope as a response so I'm going to use a proxy service in ESB to wrap around the BPEL process.</p>
  
  <p>How do I use a WSO2 ESB proxy service to forward a SOAP envelope to Endpoint_BPS_* below and then return a SOAP envelope response to my client app?</p>
  
  <p>I also want to execute the faultSequence "ProcessFault" if either endpoint is unavailable or times out. I previously used the OUT_ONLY to get around the response issue above but it means I can't detect endpoint problems. Unless it is possible to do both somehow?</p>
  
  <p>Another thing I've tried is cloning the message but this was a bit messy.</p>
  
  <p>Any help greatly appreciated</p>
  
  <pre><code>&lt;proxy xmlns="http://ws.apache.org/ns/synapse" name="BPSProxyService" transports="https,http" statistics="disable" trace="enable" startOnLoad="true"&gt;
     &lt;target faultSequence="ProcessFault"&gt;
        &lt;inSequence&gt;
           &lt;log level="full"&gt;
              &lt;property name="MESSAGE" value="BEGIN BPSProxyService" /&gt;
           &lt;/log&gt;
           &lt;switch source="//*[local-name()='Operation']"&gt;
              &lt;case regex="create"&gt;
                 &lt;send&gt;
                    &lt;endpoint key="Endpoint_BPS_CreateCaseService" /&gt;
                 &lt;/send&gt;
              &lt;/case&gt;
              &lt;case regex="update"&gt;
                 &lt;send&gt;
                    &lt;endpoint key="Endpoint_BPS_UpdateCaseService" /&gt;
                 &lt;/send&gt;
              &lt;/case&gt;
           &lt;/switch&gt;
        &lt;/inSequence&gt;
        &lt;outSequence&gt;
           &lt;property name="HTTP_SC" value="200" scope="axis2" /&gt;
           &lt;class name="esb.mediators.InjectSOAPEnvelope" /&gt;
           &lt;log level="full"&gt;
              &lt;property name="MESSAGE" value="END BPSProxyService" /&gt;
           &lt;/log&gt;
           &lt;send /&gt;
           &lt;drop /&gt;
        &lt;/outSequence&gt;
     &lt;/target&gt;
     &lt;publishWSDL key="common/bpsproxyservice/bpsproxyservice.wsdl"&gt;
        &lt;resource location="schema.xsd" key="common/schema_v2.xsd" /&gt;
     &lt;/publishWSDL&gt;
  &lt;/proxy&gt;
  </code></pre>