private void onResponse(final BPELMessageContext bpelMessageContext, final MyRoleMessageExchange mex, final MessageContext msgContext) throws AxisFault { switch (mex.getStatus()) { case FAULT: if (log.isDebugEnabled()) { log.debug("Fault response message: " + mex.getFault()); } SOAPFault fault = SOAPUtils.createSoapFault(bpelMessageContext, mex); msgContext.getEnvelope().getBody().addFault(fault); if (log.isDebugEnabled()) { log.debug("Returning fault: " + msgContext.getEnvelope().toString()); } break; case ASYNC: case RESPONSE: SOAPUtils.createSOAPResponse(bpelMessageContext, mex); if (log.isDebugEnabled()) { log.debug("Response message " + msgContext.getEnvelope()); } //writeHeader(msgContext, mex); break; case FAILURE: throw new BPELFault("Message exchange failure"); default: throw new BPELFault("Received ODE message exchange in unexpected state: " + mex.getStatus()); } }
newEnvelope.getBody().addFault(cloneSOAPFault(fault)); } else { OMElement body = envelope.getBody().cloneOMElement();
body.addFault(soapFault); } else { body.addChild(bodyContent);