Recently during migration BizTalk project from SQL to WCF adapter had some rather confusing moment. After deploying to test environment WCF ports started generate errors like this:
Failed to open Microsoft.ServiceModel.Channels.Common.Channels.AdapterRequestChannel, Faulted Microsoft.ServiceModel.Channels.Common.Channels.AdapterRequestChannel, Faulted System.ServiceModel.Channels.ServiceChannel, Failed to open System.ServiceModel.Channels.ServiceChannel
After fewfrustrating troubleshooting sessions it was found that adapter binding was missing identifier for the default database instance. Here’s what we had:
|SQL port URI||SQL://DevServer\DevInstance\Database||SQL://TestServer/Database|
|WCF port URI||mssql://TestServer/DevInstance/Database||mssql://TestServer/Database|
Both adapters worked in development, but in test WCF did not. What was missing is “//” between server and database part of the URI. This is not required for SQL adapter configuration but apparently is critical for the WCF adapter. So the correct URI should have been: mssql://TestServer//Database.