BizTalk Admin only installation bug : Failed to create WCF-SQL Transport Component

|  Posted: April 8, 2013  |  Categories: BizTalk Server General Technical

Recently we received a support call from one of our BizTalk360 customer saying, they were able to control all the send port/receive locations using BizTalk360 but whenever they try to start/stop send port or enable/disable receive location that uses WCF-SQL adapter it throws the following exception.

Failed to create ‘WCF-SQL’ Transport Component
Microsoft.BizTalk.ExplorerOM.BtsException: Failed to create ‘WCF-SQL’ Transport Component
at Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer.SaveChangesWithTransaction(Object transactionObj)
at Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer.SaveChanges()

 

We asked the customer to try the same actions using BizTalk administration console and they reported same issue. The customer has gone down our standalone server deployment, where you install BizTalk360 on an external standalone server (not in any of your existing BizTalk servers ). The pre-requisite for this type of deployment is to install only BizTalk Admin components  (not the full run-time) before installing BizTalk360.

We couldn’t find the issue and finally we raised a Microsoft PSS support call. After couple of days back and forth conference call and help of one of the PSS support staff (Yakshit Gohel), they finally figured out it’s a bug in BizTalk admin only installation.

Cause

The main cause for this issue is due to the dependency on one of the run-time dll’s  (Microsoft.BizTalk.Adapter.WCF.Runtime.dll) that gets installed only when you install all the components of BizTalk Server. Since in our case we only installed BizTalk Admin components, that dll was missing in the server and hence the error.

Resolution

One option is to install the full version of BizTalk runtime in the standalone server. We couldn’t do it because it has licensing implication. BizTalk admin components can be installed in any server without any license restriction. But if you install the full version, then that server needs to be licensed.

The second option is to go through the following procedure to fix the issue.

  1. Get the same dll (Microsoft.BizTalk.Adapter.WCF.Runtime.dll) from a machine where BizTalk runtime is installed.
  2. GAC this dll in the machine where we are facing the problem.
  3. Install BizTalk adapter pack 32-bit & 64-bit (if not installed)
  4. Run the following commands from the command prompt from this path (c:\Program Files (x86)\Microsoft BizTalk Adapter Pack\bin)
  5. CustomAction.exe -ib sql 5 31bf3856ad364e35 -> to register the WCF-SQL adapter
  6. CustomAction.exe -ib db 5 31bf3856ad364e35 -> to register the WCF-Oracle adapter
  7. CustomAction.exe -ib sap 5 31bf3856ad364e35 -> to register WCF-SAP adapter
  8. Open the BizTalk MMC. You should be able to enable or disable the receive location now.

Other adapter effected

You’ll experience the same issue for some of the other WCF adapters (WCF-Oracle and WCF-SAP). The above steps should fix the problem. Also note the other reason you might see this error is, if you haven’t installed the WCF LOB adapters on the standalone server (both 32 bit and 64 bit versions)

Author: Saravana Kumar

Saravana Kumar is the Founder and CTO of BizTalk360, an enterprise software that acts as an all-in-one solution for better administration, operation, support and monitoring of Microsoft BizTalk Server environments.

  • Uttam Kumar Mohanta

    Hellp Saravana,
    I am receiving the below error for MLLP transport while enabling any MLLP receiving location in BizTalk 2010 from BizTalk 360 7.5.1800.0. Could you please help me on this how can I fix it?

    Failed to
    create ‘MLLP’ Transport Component
    Microsoft.BizTalk.ExplorerOM.BtsException:
    Failed to create ‘MLLP’ Transport Component
    at
    Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer.SaveChangesWithTransaction(Object
    transactionObj)
    at
    A.c5f8fe3d3ca28e5f96934744e075c6532.cf363711a3758a68242162aa434e00a35(ReceiveLocationCollection
    c8089c26347d4d0c5d5b248deacbe158a, ReceiveLocationOperation
    c5643bd14c28f2f75e668b81c80acad00)
    at
    Kovai.BizTalk360.BusinessService.Main.BizTalkApplicationBusinessService.ChangeReceiveLocationStatus(ReceiveLocationCollection
    receiveLocations, ReceiveLocationOperation operation)
    at Kovai.BizTalk360.WCFService.BizTalkApplicationService.ChangeReceiveLocationStatus(BizTalkApplicationServiceRequest
    request, ReceiveLocationCollection receiveLocations, ReceiveLocationOperation
    operation)

  • The issue was solved when running BizTalk 2013 R2 CU1 via above ‘fix’, but after updating server + external client to CU2, the issue is back again and can’t be solved via above instruction.

One Platform Operations, Monitoring and Analytics Software
BizTalk360

microsoft biztalk

Learn more

Over 500 customers across 30+ countries depend on BizTalk360

ServiceBus360

Azure service bus

Learn more

Start managing your Azure Service Bus namespaces in minutes

One Platform - Operations, Monitoring and Analytics Software
BizTalk360

microsoft biztalk

Learn more

Over 500 customers across 30+ countries depend on BizTalk360

One Platform - Operations, Monitoring and Analytics Software
ServiceBus360

Azure service bus

Learn more

Start managing your Azure Service Bus namespaces in minutes

Back to Top