Please verify that the pipeline strong name is correct and that the pipeline assembly is in the GAC.

Posted: August 18, 2011  |  Categories: BizTalk Uncategorized

Ever had this error. I bet you are saying the solution is to to restart the host. I did this with one of my clients recently and found that it did not fix the problem. I got them to check that the assembly was in the GAC and it was. After several false starts i got them to run Fuslogvw.exe (Assembly Binding Log Viewer) and this showed the failed binding shown below;

*** Assembly Binder Log Entry  (18/08/2011 @ 9:59:07 a.m.) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Running under executable  C:\Program Files (x86)\Microsoft BizTalk Server 2010\BTSNTSvc64.exe
— A detailed error log follows.
=== Pre-bind state information ===
LOG: User = zbtsapphost
LOG: DisplayName = OracleInterfacePipeline, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5983166fdea5fae3 (Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/Microsoft BizTalk Server 2010/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files (x86)\Microsoft BizTalk Server 2010\BTSNTSvc64.exe.Config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: OracleInterfacePipeline, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5983166fdea5fae3
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Microsoft BizTalk Server 2010/OracleInterfacePipeline.DLL.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Microsoft BizTalk Server 2010/OracleInterfacePipeline/WSL.OracleInterfacePipeline.DLL.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Microsoft BizTalk Server 2010/OracleInterfacePipeline.EXE.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Microsoft BizTalk Server 2010/OracleInterfacePipeline/WSL.OracleInterfacePipeline.EXE.
LOG: All probing URLs attempted and failed.

The crtical line is highlighted in red. Why on earth is a BizTalk 2010 server using the net 2.0 framework machine.config file?

I managed to run exactly the same application on another BizTalk 2010 server and captured the assembly binding log. In this case the line highlighted in red was

C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.

and the application worked.

Now I was on to it. I checked the BTSNTSvc.exe.config and found that the following lines were missing

<startup useLegacyV2RuntimeActivationPolicy=”true”>
<supportedRuntime version=”v4.0″ />
</startup>
<runtime>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<probing privatePath=”BizTalk Assemblies;Developer Tools;Tracking;Tracking\interop” />
</assemblyBinding>
</runtime>
<system.diagnostics>
<system.runtime.remoting>
<channelSinkProviders>
<serverProviders>
<provider id=”sspi” type=”Microsoft.BizTalk.XLANGs.BTXEngine.SecurityServerChannelSinkProvider,Microsoft.XLANGs.BizTalk.Engine” securityPackage=”ntlm” authenticationLevel=”packetPrivacy” />
</serverProviders>
</channelSinkProviders>
<application>
<channels>
<channel ref=”tcp” port=”0″ name=””>
<serverProviders>
<provider ref=”sspi” />
<formatter ref=”binary” typeFilterLevel=”Full”/>
</serverProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>

After addition of this to the config file and restarting the host the problem was solved.

BizTalk360
BizTalk Server

Over 650+ customers across
30+ countries depend on BizTalk360

Learn More
Serverless360
Azure

Operate efficiently with enterprise-grade Azure monitoring,
tracing, remediation & governance in one platform

Learn More

Back to Top