2010年至2013年的移民问题

Migration issue from 2010 to 2013

我们已将应用程序从 BizTalk 2010 迁移到 2013 生产。

我们收到以下错误:

xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'BizTalk.SalesForce.Integration.WebServiceServiceClient(9ee6fc07-8b64-e4cc-a2c5-710767d71ff7)'.
The service instance will remain suspended until administratively resumed or terminated.
If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
InstanceId: 113a84a5-d38b-4502-909e-fd3266e2d7aa
Shape name: ConstructMessage_Quote
ShapeId: 45a05a8d-0fa6-4796-8816-5ce659892091
Exception thrown from: segment 1, progress 6
Inner exception: Could not load file or assembly 'Microsoft.EnterpriseSingleSignOn.Interop, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Exception type: FileNotFoundException
Source: SalesForce.Integration.Login.Helper
Target Site: System.String GetSession()
The following is a stack trace that identifies the location where the exception occured
 at SalesForce.Integration.Login.Helper.ForceToken.GetSession()
 at SalesForce.Integration.Login.Helper.ForceToken.get_SessionId()
 at BizTalk.SalesForce.Integration.WebServiceServiceClient.segment1(StopConditions stopOn)
 at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

我试图检查 GAC,Microsoft.EnterpriseSingleSignOn.Interop 程序集存在。

当我试图检查 SSOMMNSnapIn.dll.config 文件时,它有

 <runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v4.0.30319">
      <dependentAssembly>
         <assemblyIdentity name="Microsoft.EnterpriseSingleSignOn.Interop" publicKeyToken="31bf3856ad364e35" culture="neutral" />
         <bindingRedirect oldVersion="5.0.1.0" newVersion="7.0.2300.0"/>
      </dependentAssembly>
   </assemblyBinding>
 </runtime>

即使在将新版本更改为 9.0.1000.0 后,如下所示仍显示相同的错误。

 <bindingRedirect oldVersion="5.0.1.0" newVersion="9.0.1000.0"/>

我该怎么办?

尝试启用 Fusion 日志并查看故障发生的位置:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
Add:
DWORD ForceLog set value to 1
DWORD LogFailures set value to 1
DWORD LogResourceBinds set value to 1
String LogPath set value to folder for logs (e.g. C:\FusionLog\)

然后使用融合日志查看器查找错误。

更多详情:

看起来错误很简单

Inner exception: Could not load file or assembly 'Microsoft.EnterpriseSingleSignOn.Interop, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

您是否确认在您的盒子中部署了此版本的程序集?

更新:

基于此博客: https://arcscent.wordpress.com/2014/11/12/biztalk-sso-application-configuration-setup-issue/

Biz2013中的Microsoft.EnterpriseSingleSignOn.Interop应该是7.0.2300.0 Biztalk 2013 R2 随附版本 9.0.1000.0。

是否有可能您在旧机器中安装了 2013 R2 的 SSO 配置应用程序 MMC,因此它具有更新版本,但在您的新机器中,您没有安装它。