在 BizTalk Server 2013年的已知的问题

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 2954101
本文列出了当您使用 Microsoft BizTalk Server 2013年的已知的问题。
更多信息

XSLCompiledTransform 中的已知的问题

BizTalk Server 2013年使用.NET XslCompiledTransform类来更好的转换性能。有一些行为XslCompiledTransform类和以前使用的请参见类之间的差异。以下是与这种差异以及推荐的解决方案有关的一些已知的问题:
  • 更改脚本 functoid 中布尔型参数

    故障现象
    当输入的 XML 节点包含 false 的任何值或输入的 XML 节点为空时,在脚本 functoid 中的布尔型参数为

    本地
    有关解决方法的详细信息,请参阅 在脚本编写 Functoid 布尔值参数的行为更改.
  • 不支持专用函数

    故障现象
    Functoid 中使用私有函数时,该映射失败,您会收到以下错误消息:
    因为它不是公共,则不能调用方法的扩展对象 http://schemas.microsoft.com/BizTalk/2003/userCSharp MyPrivateFunct。

    注意:XslCompiledTransform类只支持调用公共方法。在介绍了这种限制 类请参见迁移.

    本地
    声明为 public 函数而不是私钥。
  • 返回空值不受支持

    故障现象
    从 functoid 返回 null 值时,该映射失败,您会收到下面的一般性错误信息:
    ExceptionType: Microsoft.XLANGs.Core.XTransformationFailureException
    异常: 执行 My.Map 的转换过程中遇到错误。错误: 转换失败。
    当您在 Visual Studio 中测试相同的映射时,它提供了一个更具说明性的错误信息:
    已调用的目标通过引发异常。扩展函数不能返回 null 值。

    注意:XslCompiledTransform类不支持从转换中调用的函数中返回空值。

    本地
    返回通过或其他替代值来表示 null 的情况。如果需要请使用全局变量以使空值可跨多个函数。
  • 脚本 functoid 中的行为更改XPathNodeIterator参数

    故障现象
    在脚本 functoid XPathNodeIterator参数使用的XPathArrayIterator类型。在早期的 BizTalk Server 版本,它使用XPathSelectionIterator类型。由于此更改,节点。MoveNext()调用已添加,如以下代码中,以避免出现以下错误消息:
    枚举尚未启动。调用 MoveNext。
    public static bool WriteNode(XPathNodeIterator node) { node.MoveNext(); //needs to be added in BizTalk Server 2013 to avoid errorXPathNavigator xpn = node.Current; XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(xpn.OuterXml); return true; }
    本地
    调用MoveNext()函数。
  • 函数重载的而不是由类型参数数目由区分

    故障现象
    下面的函数重载包含不同类型的参数:
    public short MyOverloadedFunction(int testvalue)public short MyOverloadedFunction(string testvalue)
    由于这些函数重载这两个具有相同数量的参数,如果在转换中使用它们,映射失败,您会收到以下错误消息:
    不明确的方法调用。扩展对象 'http://schemas.microsoft.com/BizTalk/2003/ScriptNS0' 包含多个具有 1 参数的 MyOverloadedFunction 方法。

    注意:XslCompiledTransform类只区分基于参数个数的函数。在介绍了这种限制 类请参见迁移.

    本地
    请确保所有函数重载都包含不同数目的参数。

回退到请参见类
您可以配置 BizTalk Server 2013年转换引擎使用旧版本请参见类。我们不建议这种方法因为环境将失去很多的性能和内存使用情况的改进XslCompiledTransform类提供的。此外,.NET请参见类已被否决。因此,没有新的更新程序或修复程序将释放它。

如果您无法通过使用前面提到的解决方案更新地图,这种更改可通过在以下位置添加值为1的 dword 值UseXslTransform :
  • 对于 64 位 BizTalk 主机实例: HKLM\SOFTWARE\Microsoft\BizTalk Server\3.0\Configuration
  • 对于 32 位 BizTalk 主机实例和 Visual Studio 测试映射功能: HKLM\SOFTWARE\Wow6432Node\Microsoft\BizTalk Server\3.0\Configuration

企业单一登录 (SSO) 中的已知的问题


以下是适用于 SSO BizTalk Server 2013年上一些已知的问题:
  • 升级到 BizTalk Server 2013年不会升级 SSO

    故障现象
    从 BizTalk Server 2009年或 BizTalk Server 2010 中的就地升级到 BizTalk Server 2013年不可能在同一台计算机上升级 SSO。如果此问题会导致 SSO 主密钥服务器没有正在升级,当尝试升级 BizTalk 组中的其他服务器,您将收到以下错误消息:
    请升级您的主密钥服务器
    BizTalk Server 引用 Microsoft.BizTalk.Interop.SSOClient.dll 的任何组件出现故障,并且您会收到以下错误消息:
    无法加载文件或程序集 Microsoft.BizTalk.Interop.SSOClient、 版本 = 7.0.2300.0

    本地
    在以后版本的 BizTalk Server 2013年介质中解决此问题。因此,请确保在升级使用最新的可用媒体。有关如何确定您计算机上的 SSO 版本以及如何升级 SSO,如果已经遇到此问题的详细信息,请参阅 升级到 BizTalk Server 2013年不会升级企业 SSO.
  • 无法加载 Microsoft.BizTalk.Interop.SSOClient.dll 版本为 5.0.1.0

    故障现象
    在以下情况下,可能会收到以下错误消息:
    无法加载文件或程序集 Microsoft.BizTalk.Interop.SSOClient.dll、 版本为 5.0.1.0 =
    • WCF 通过引发错误接收位置或 WCF 从 BizTalk Server 2009年或 BizTalk Server 2010 中的就地升级后发送端口。这是因为 Microsoft.BizTalk.Adapter.Wcf.Runtime.dll 文件不正确的升级到版本 3.10.229.0。

      本地
      如果 Microsoft.BizTalk.Adapter.Wcf.Runtime.dll 的版本早于 3.10.229.0,BizTalk Server 2013年的安装介质中复制该文件的正确版本 (在DVD 驱动器中 > \BizTalk Server\MSI\Program 文件),将其放在 BizTalk Server 安装文件夹,然后将其安装到全局程序集缓存 (GAC) 中。可以通过按如下使用 gacutil.exe 工具到 gac 中安装.dll 文件:
      gacutil.exe /if Microsoft.BizTalk.Adapter.Wcf.Runtime.dll
    • 由以前使用 BizTalk Server 2009年或 BizTalk Server 2010 中的自定义代码将引发错误。这是因为 BizTalk Server 2009年和 BizTalk Server 2010 中的.NET 版本为 5.0.1.0 的 Microsoft.BizTalk.Interop.SSClient.dll 文件。但是,BizTalk Server 2013年使用.NET 版本 7.0.2300.0 的文件。

      本地
      更新并重新生成的自定义代码,以引用 BizTalk Server 2013年版 (7.0.2300.0) 的 Microsoft.BizTalk.Interop.SSClient.dll 文件。如果重建不是一个选项,将重定向到版本 7.0.2300.0,从而给下面的修改"<runtime>/<assemblyBinding>"部分中的相应配置文件:</assemblyBinding> </runtime>
      <dependentAssembly><assemblyIdentity name="Microsoft.BizTalk.Interop.SSOClient" publicKeyToken="31bf3856ad364e35" culture="neutral" /><bindingRedirect oldVersion="5.0.1.0" newVersion="7.0.2300.0"/></dependentAssembly>
    • 错误是由于不正确的文件依赖项而引发由 Microsoft BizTalk 企业服务总线 (ESB)。

      本地
      在 BizTalk Server 2013年累计更新 2 (CU2) 和更高版本中,此问题已修复。
      有关此问题的详细信息,请参阅 修复:"无法加载文件或程序集 Microsoft.BizTalk.Interop.SSOClient 版本为 5.0.1.0 ="在 BizTalk Server 2013年使用 ESB 配置工具时出现错误.
      有关如何获取最新累积更新以解决方法,请参见 Service Pack 和 BizTalk Server 的累积更新列表.
  • 未能加载 SSOPSServer.dll

    故障现象
    您可能会收到在事件日志中记录以下错误消息:
    未能加载 \Program Files\Common Files\Enterprise 单个符号 On\SSOPSServer.dll 错误代码: 0x8007007E,找不到指定的模块。

    本地
    此错误不会造成损害,可以忽略。为了防止继续发生此错误,请将 SSOPSServer.dll 文件从原始安装介质复制到 \Program Files\Common Files\Enterprise 单一登录计算机上的文件夹。SSO 的 64 位安装,使用 \Platforms\SSO64\Files 的 SSOPSServer.dll 文件在安装媒体上。对于 SSO 的 32 位安装,使用 \Platforms\SSO\Fxiles 中的文件。
  • 主机集成服务器 2013 SSO 将无法使用 BizTalk SSO 主密钥

    故障现象
    当主机集成服务器 2013 SSO 服务要访问 BizTalk Server 2013 SSO 主密码服务时,会引发以下错误消息:
    未能检索主密钥。请验证主密钥服务器名称正确无误并且可用。机密服务器名称: BTSSSOSERVER 错误代码: 0x00000057,该参数不正确。

    本地
    主机集成服务器 2013年包括 SSO 版本 9.0.2096.0。但是,BizTalk Server 2013年包括版本 9.0.1865.0。在混合环境中的 SSO 服务主机集成服务器和 BizTalk 服务器上的访问共享的主密钥服务器,因此,服务器必须运行主机集成服务器 2013 SSO 服务。请注意,BizTalk 服务器上安装主机集成服务器将升级到版本 9.0.2096.0,现有的 SSO 服务,将需要同时对 9.0.2096.0 升级远程主机密钥 SSO 服务器。

其他已知的问题

  • 升级到 BizTalk Server 2013年不部署新的 Microsoft.BizTalk.GlobalPropertySchemas.dll

    故障现象
    从 BizTalk Server 2009年或 BizTalk Server 2010 中的就地升级到 BizTalk Server 2013 does 不正确地将新的 Microsoft.BizTalk.GlobalPropertySchemas.dll 文件部署到 BizTalkMgmtDb 数据库。任何新的全局属性访问 BizTalk 通过时,可能导致错误。这可以使用 WCF 时发生。HttpHeaders,SB 消息适配器或任何其他新的属性与关联的任何属性。SB 消息适配器失败与错误消息如下:
    "SB 消息"适配器引发一条错误消息。详细信息"(0xC0C01620) System.Runtime.InteropServices.COMException: 从 HRESULT 异常: 0xC0C01620
    在 Microsoft.BizTalk.TransportProxy.Interop.IBTTransportBatch.MoveToSuspendQ (IBaseMessage 消息)
    在 Microsoft.BizTalk.Adapter.Wcf.Runtime.Batch2.MoveToSuspendQ (IBaseMessage 消息的对象用户数据)
    在 Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkReceiveBatch.SuspendMessageIfNeeded (IBaseMessage 消息、 StreamAndUserData streamAndUserData、 Int32 messageStatus)"。

    "SB 消息"适配器引发一条错误消息。详细信息"System.Exception: 加载属性信息列表失败的命名空间或在列表中找不到属性。请验证已正确部署架构。
    在 Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkServiceInstance.EndOperation (IAsyncResult 结果)
    在 AsyncInvokeEndEndTwoWayMethod (对象,Object [],IAsyncResult)
    在 System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeEnd (对象实例,Object [] & IAsyncResult 结果输出)
    在 System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeEnd (MessageRpc & rpc)
    在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage7 (MessageRpc & rpc)
    在 System.ServiceModel.Dispatcher.MessageRpc.Process (布尔型 isOperationContextSet)"

    本地
    使用 AddGlobalPropertySchemas.exe 工具来手动升级后部署的.dll 文件。下载工具 AddGlobalPropertySchemas.exe.您必须传入 BizTalk 管理数据库服务器名称和数据库名称,如下所示:
    AddGlobalPropertySchemas.exe /server:MyServer /database:BizTalkMgmtDb
    注意:如果数据库位于 SQL Server 的命名实例,请指定 MyServer\MyInstance 而不是只是相同。
  • ESB 2.2 配置文件使 ESB 失败

    故障现象
    ESB Toolkit 2.2 使用 Unity 2.0 需要修改默认的 esb.config 文件。这些修改,不会发生以下问题
    • ESB 2.2 配置失败,而且您会收到以下错误消息:
      异常与"6"个参数调用"PushAllConfiguration":"无法识别的元素 'typeConfig'。(C:\Program 文件 (86) \Microsoft BizTalk ESB Toolkit\esb.config 线 151)
    • ItinerarySelectReceiveXML接收管道用来调用业务规则引擎动态 (通过使用 ESB BRI 解析器) 中选择一条路线,会引发以下错误:
      已调用的目标通过引发异常。
      来源: Microsoft.Practices.ESB.Resolver.ResolverMgr
      方法: System.Collections.Generic.Dictionary'2[System.String,System.String] 解决 (Microsoft.Practices.ESB.Resolver.ResolverInfo,Microsoft.BizTalk.Message.Interop.IBaseMessage,Microsoft.BizTalk.Component.Interop.IPipelineContext)
      错误源: mscorlib
      错误 TargetSite: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
      错误 StackTrace: 在 System.RuntimeMethodHandle.InvokeMethod 对象目标、 对象 [] 参数、 签名 sig (布尔值的构造函数)
      在 System.Reflection.RuntimeConstructorInfo.Invoke BindingFlags 目的、 活页夹联编程序、 对象 [] 参数 (CultureInfo 区域性)
      在 System.RuntimeType.CreateInstanceImpl (BindingFlags 给定、 活页夹联编程序、 对象 [] 参数、 CultureInfo 区域性、 对象 [] 试图、 StackCrawlMark & stackMark)
      在 System.Activator.CreateInstance (类型、 BindingFlags 给定、 活页夹联编程序、 对象 [] 参数、 CultureInfo 区域性、 对象 [] 试图)
      在 System.Activator.CreateInstance (类型、 对象 [] 参数)
      在 Microsoft.Practices.ESB.Resolver.ResolverFactory.Create (字符串键)
      在 Microsoft.Practices.ESB.Resolver.ResolverMgr.GetResolver (ResolverInfo 信息)
      在 Microsoft.Practices.ESB.Resolver.ResolverMgr.Resolve ResolverInfo 信息,IBaseMessage 消息 (IPipelineContext pipelineContext)
    本地
    有关此问题以及说明如何修改 esb.config 文件,以解决它的详细信息,请参阅 ESB Toolkit BRE 路线冲突解决程序将失败并异常ESB 配置失败与"无法识别元素 'typeConfig'".
  • UNB 3.3 段 EDIFACT 邮件被挂起

    故障现象
    之后升级到 BizTalk Server 2013年,包含 UNB 3.3 段 EDIFACT 消息失败,并收到下面的错误消息。BizTalk Server 2010 中的问题没有处理此同一 EDIFACT 消息:
    加载属性信息列表失败的命名空间或在列表中找不到属性。请验证已正确部署架构。

    本地
    通过使用以下步骤来重新启动相关的主机实例:
    • 在 BizTalk Server 管理控制台,导航到BizTalk 组>应用> BizTalk EDI 应用>资源
    • 用鼠标右键单击资源,然后单击添加> BizTalk 程序集
    • 添加资源窗口中,单击添加,选择 Microsoft.BizTalk.Edi.BaseArtifacts.dll 文件 (默认位置为 C:\Program 文件 (86) \Microsoft BizTalk Server 2013年),,然后单击打开
    • 选择覆盖所有复选框。
    • 选择添加到全局程序集缓存添加资源复选框,然后单击确定
BizTalk Server 2013年已知问题 BTS2013

属性

文章 ID:2954101 - 上次审阅时间:08/26/2015 12:13:00 - 修订版本: 2.0

Microsoft BizTalk Server 2013 Branch, Microsoft BizTalk Server 2013 Developer, Microsoft BizTalk Server 2013 Enterprise, Microsoft BizTalk Server 2013 Standard

  • kbbts kbbtsengine kbbtssso kbsurveynew kbtshoot kbexpertiseinter kbmt KB2954101 KbMtzh
反馈