Without appropriate Error-Handling logic, the first fault thrown by a service invocation within any one of the Split-Join's threads will re-raise in the Split-Join and halt the entire message flow.
In order to prevent this, Catch clauses need to be added to the scope of each thread as shown next.
Right-click on the loop's scope and select Add Catch.
Select the new Catch block,
label
it with the name of the fault you wish to catch and then review the Properties tab.Click on <Soap Fault Variable Name> and assign any name you like (the default is simply
soapFault
which should be fine).Repeat this step for each expected Soap Fault.
Select Define Fault and enter the fault name and namespace of the fault you expect to catch.
Drag in a new Scope below the Catch and add any mitigation actions as necessary to resolve the fault. It may be appropriate to do nothing. Simply log the error, or perhaps aggregate a default value into the total...