Error in receive pipeline: There is an error in XML document
There was an annoying problem with the tracking send pipeline in synchronic processes in the UAT environment. The process used to fail in send pipeline component with the following exception in event log:
“A response message sent to adapter "SOAP" on receive port "******" with URI "*********.asmx" is suspended.
Error details: There is an error in XML document (1, 2850). “
The error is confusing because xml was valid and we don’t have any xml validation/parsing element in our send pipeline.
What was really helpful is Negative Acknowledgement (NACK) message which could be found in the suspended instance in BTS Admin console:
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<faultcode>Microsoft BizTalk Server Negative Acknowledgment </faultcode>
<faultstring>An error occurred while processing the message, refer to the details section for more information </faultstring>
<ns0:NACK Type="NACK" xmlns:ns0="http://schema.microsoft.com/BizTalk/2003/NACKMessage.xsd">
<ErrorDescription>There is an error in XML document (1, 2867).</ErrorDescription>
<ErrorDetail>Login failed for user ''. The user is not associated with a trusted SQL Server connection.</ErrorDetail>
ErrorDetail node contained actual exception reason. It appeared to be database connection problem which was solved by cancelling impersonate in the web.config file.
Conclusion: Check NACK messages for SOAP adapter exceptions. It may contain important details.