package com.example.switchyard.soap; import javax.xml.namespace.QName; import org.switchyard.Exchange; import org.switchyard.component.soap.SOAPMessages; import org.switchyard.component.soap.composer.SOAPBindingData; import org.switchyard.component.soap.composer.SOAPMessageComposer; public class CustomFaultMessageComposer extends SOAPMessageComposer { @Override public SOAPBindingData decompose(Exchange exchange, SOAPBindingData target) throws Exception { SOAPBindingData data = target; try{ data = super.decompose(exchange, target); }catch(Exception e){ data.getSOAPMessage().getSOAPBody().addFault(new QName("100"), "ERROR in transformation"); } try { getContextMapper().mapTo(exchange.getContext(), data); } catch (Exception ex) { throw SOAPMessages.MESSAGES.failedToMapContextPropertiesToSOAPMessage(ex); } return data; } }