Provider A should, if possible, try to resolve any reason Text elements into the language(s) requested by Requester B. In some cases this may not be possible because the language in question is not available or the design of the error handling subsystem does not allow multiple language resolution of the fault.
In (2) the text is generated directly by the SOAP Provider. In (3) the text is generated within the service (agent) itself. In both cases Provider A should return the message in the language requested by B if possible. It may be forced to return the message provided by Service A, labeled with the local language (or the language of the actual message, if known). Note that these two faults may be in different languages, since they are separately generated.