%dw 2.0
output application/xml
ns ns0 http://mulesoft.org/tshirt-service
ns soap http://schemas.xmlsoap.org/soap/envelope/
---
{
soap#Fault: {
faultcode: "soap:Server",
faultstring: "The error details",
detail: {
ns0#TshirtFault: {
errorStuff: 500
}
}
}
}
Display a Typed SOAP Fault
Configure the ListInventory operation in APIkit for SOAP so responses surface the TshirtFault typed fault from tshirt2.wsdl, which also maps faults to OrderTshirt, ListInventory, and TrackOrder. Select Soap Fault 1.1 or Soap Fault 1.2 for any WSDL, including services that do not declare typed faults.
-
In Anypoint Studio, search for fault in the command palette.
Multiple
SOAP Faultcomponents can appear. -
Drag
SOAP Faultto theListInventory:api-configflow.If Operation Unavailable message appears, cancel the operation and select another
SOAP Faultcomponent. -
Repeat these steps until you find a version match.
-
In the properties editor, in Module Configuration, select
soapkit-config. -
In Operation, select
ListInventory. -
In Fault, select
Fault. -
Save the properties.
-
Select the
Transform Messagecomponent. -
Modify the DataWeave code as follows:
-
Save the project and run it again.
Using SoapUI, run the
ListInventoryoperation.The client returns the following envelope instead of the default fault:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>The error details</faultstring> <detail> <ns0:TshirtFault xmlns:ns0="http://mulesoft.org/tshirt-service"> <errorStuff>500</errorStuff> </ns0:TshirtFault> </detail> </soap:Fault> </soap:Body> </soap:Envelope>



