【问题标题】:BizTalk mapping, nested collections of elements, help neededBizTalk 映射、嵌套的元素集合、需要帮助
【发布时间】:2009-08-02 12:30:57
【问题描述】:

我有一个包含订单详细信息的架构。在架构中,我有一个包含订单中每个项目详细信息的行项目集合。 Schema 类似于下面的结构。

Order
    SaleItems
        SaleItem
            OrderID
            Price
            Quantity 
            etc.

我有一个要求,如果 SaleItem 中的 Quantity 大于 1,则应创建另一个订单项并在订单项之间划分价格,例如:

Order
    SaleItems
        SaleItem
            OrderID  1234
            Price    99
            Quantity 3

应该会在输出中创建以下内容:

Order
    SaleItems
        SaleItem
            OrderID  1234
            Price    33
            Quantity 1 
        SaleItem
            OrderID  1234
            Price    33
            Quantity 1  
        SaleItem
            OrderID  1234
            Price    33
            Quantity 1   

你们中的任何一个 Biztalk 大师都可以建议一个最好的方法来完成这个吗?我不知道是否最好在具有某些功能的地图中执行此操作,如果可以,在地图中放置什么,或者在具有某些自定义的编排中执行 IF Quantity > 1 逻辑。也许我在这里遗漏了一些非常简单的东西,但我们将不胜感激地得到任何帮助。

理查德

【问题讨论】:

    标签: mapping nested biztalk elements


    【解决方案1】:

    您可以将该转换编写为自定义 XSLT,然后让 Biztalk 使用它进行转换。

    【讨论】:

      【解决方案2】:

      您没有提到将使用此映射的场景,如果您需要在业务流程中进行此转换,那么最简单和最快的解决方案是使用带有序列化消息的 .NET 帮助程序类。这样你就可以做到,如果 qty > 1 ... 类型的逻辑,你提到了什么。我相信您也可以在地图中实现这一点,这将需要一些 BizTalk 映射器或一些自定义 XSLT 开发。如果您打算在港口使用地图,您可能需要选择后面的路线。

      HTH

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-18
        • 2011-01-06
        • 1970-01-01
        • 1970-01-01
        • 2020-11-16
        • 2021-11-28
        相关资源
        最近更新 更多