BizTalk 2020 Saxon XSLT 3.0转换例外

问题描述

我正在尝试进行概念验证以使用saxon xslt 3.0运行BizTalk地图 有一种方法可以使用自定义扩展(xml)扩展对象执行方法

我正在跟踪此链接,但是执行 TestMap

时出现错误

用于Saxon转换的扩展类Test.TestMethod无效,应为“ ExtensionFunction”或“ ExtensionFunctionDeFinition”

BizTalk Server 2020: A review of the new XSLT 3.0 & Custom Transform Features: Custom Engine Options(social.technet.microsoft.com)

自定义扩展xml

<ExtensionObjects>
<ExtensionObject Namespace="http://schemas.microsoft.com/BizTalk/2003/ScriptNS0" AssemblyName="Test,Version=1.0.0.0,Culture=neutral,PublicKeyToken=11f992b93de945f2,processorArchitecture=MSIL" ClassName="Test.TestMethod" /></ExtensionObjects>

自定义扩展xml文件中缺少任何内容吗? 我不确定这是怎么回事。

注意:在BizTalk 2020中部署应用程序后,在运行时出现相同的错误

解决方法

不需要添加扩展对象。 使用saxon xslt 3.0测试地图并运行作品,但是您无法从VS调试xslt。

执行以下操作:

  1. 转到c:\Program Files (x86)\Microsoft BizTalk Server\Developer Tools\CustomTransform.xml
  2. 复制TypeAssemblyQualifiedName的值
  3. 打开regedit.exe并在以下注册表中创建一个字符串值“ XsltEngine”:
  • 64位主机实例:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0\Configuration
  • 32位主机实例:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BizTalk Server\3.0\Configuration
  1. TypeAssemblyQualifiedName的值粘贴为值
  2. 重新启动服务器
,

如果您仍然需要帮助,请在MSDN Q&A Logic Apps论坛上发布请求。