I am using a scatter-gather pattern to call a webservice:
I am receiving an envelope message.
I am debatching an envelope message by executing an xml pipeline in orchestration.
calling a child orchestration for each debatched message using start orchestration and self-correlating port.
calling a web service for each debatched message in my child orchestration and returning the response to the caller.
aggregate the response message and sent it back to the user.
My question is there any way so that if my child orchestration failed for even one of the debatched message i get the error response and send it to the user without continuing any further process.
Yes, but using the Start Orchestration Shape makes it challenging.
One relatively easy way would be to still return the correct MessageType to the Scatter Orchestration, but with a Context Property indicating an Error occurred.
You'd then have to check this property on each returned message. After checking all the Gathered messages, decide what to do.