BizTalk 拆分存储过程结果

问题描述

当我从 BizTalk 调用存储过程时,结果被拆分到多个节点。存储过程返回被拆分后的 XML。

多个来源声明正确的配置将自动组合结果,但我无法使其工作。

示例结果:

<bsp_FA_StatementOutputResponse xmlns="http://schemas.microsoft.com/sql/2008/05/TypedProcedures/dbo">
  <StoredProcedureResultSet0>
    <StoredProcedureResultSet0 xmlns="http://schemas.microsoft.com/sql/2008/05/ProceduresResultSets/dbo/bsp_FA_StatementOutput">
      <XML_F52E2B61-18A1-11d1-B105-00805F49916B>&lt;Root...</XML_F52E2B61-18A1-11d1-B105-00805F49916B>
      </StoredProcedureResultSet0>
    <StoredProcedureResultSet0 xmlns="http://schemas.microsoft.com/sql/2008/05/ProceduresResultSets/dbo/bsp_FA_StatementOutput">
      <XML_F52E2B61-18A1-11d1-B105-00805F49916B>...</XML_F52E2B61-18A1-11d1-B105-00805F49916B>
    </StoredProcedureResultSet0>
    <StoredProcedureResultSet0 xmlns="http://schemas.microsoft.com/sql/2008/05/ProceduresResultSets/dbo/bsp_FA_StatementOutput">
      <XML_F52E2B61-18A1-11d1-B105-00805F49916B>sactionDate&gt;2020-10-6&lt;/...;&lt;/Root&gt;</XML_F52E2B61-18A1-11d1-B105-00805F49916B>
    </StoredProcedureResultSet0>
  </StoredProcedureResultSet0>
  <ReturnValue>0</ReturnValue>
</bsp_FA_StatementOutputResponse>

手动执行时,存储过程可以正常工作。

  • 我使用“添加生成的项目”向导创建了发送端口。
  • 我从向导中选择了“强类型”。
  • 我使用了向导提供的绑定。

感谢任何帮助。

解决方法

如果您遇到过这个问题,我已经记录了我提出的解决方案 here。我使用手动 XSLT 映射来重新组装碎片化的结果。