【问题标题】:Biztalk. Compare given xml and message商务谈话。比较给定的 xml 和消息
【发布时间】:2013-07-26 14:01:27
【问题描述】:

老板告诉我将收到的 xml 格式的消息与包含有关 DB 信息的 xml 给定文件进行比较。我需要在 Biztalk 中使用 xslt 映射来完成。我可以做这个任务的声明部分。我什至找到了xslt that compare 2 xml files.,但我不知道如何在biztalk中做到这一点。

我需要的是一个与 Biztalk 兼容的 xslt,它只获取输入消息并获取位于解决方案框中的给定 xml 文件,并使用上述方法或您认为更适合我的情况的方法进行比较。请显示以所需格式插入文件名或消息名的位置

该文件仅包含此类信息

<?xml version="1.0" standalone="yes"?>
<DocumentElement>
  <Columns>
    <OWNER>APEX_030200</OWNER>
    <TABLE_NAME>APEX_APPLICATION_ALL_AUTH</TABLE_NAME>
    <COLUMN_NAME>WORKSPACE</COLUMN_NAME>
    <ID>1</ID>
    <DATATYPE>VARCHAR2</DATATYPE>
    <LENGTH>255</LENGTH>
    <NULLABLE>Y</NULLABLE>
    <CHAR_USED>B</CHAR_USED>
    <LENGTHINCHARS>255</LENGTHINCHARS>
  </Columns>
  <Columns>
    <OWNER>APEX_030200</OWNER>
    <TABLE_NAME>APEX_APPLICATION_ALL_AUTH</TABLE_NAME>
    <COLUMN_NAME>APPLICATION_ID</COLUMN_NAME>
    <ID>2</ID>
    <DATATYPE>NUMBER</DATATYPE>
    <LENGTH>22</LENGTH>
    <NULLABLE>Y</NULLABLE>
    <LENGTHINCHARS>0</LENGTHINCHARS>
  </Columns>
</DocumentElement>

【问题讨论】:

  • 我了解您需要将输入 xml 与其他一些 xml 进行比较。但是你想要什么输出?那应该是什么样子?

标签: xml xslt mapping compare biztalk


【解决方案1】:

如果您检查的值没有改变,这可以很容易地在 BizTalk 映射上完成。 您只需使用 functoid “逻辑相等”,然后输入您要检查的值。从这里你会得到一个布尔值,它与“值映射”functoid 一起可用于创建输出消息。 当然,您也可以使用“逻辑与”functoid 添加多个值检查。

如果您需要检查现有文件,我可以看到两种可能的方法:

  1. 在引用的类中创建一个验证函数,并调用它 来自 BizTalk 映射的函数(functoid “脚本”)。
  2. 创建一个进行评估的自定义管道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    相关资源
    最近更新 更多