在逻辑应用程序中动态选择地图

时间:2018-04-02 22:12:34

标签: azure azure-logic-apps x12

我正在尝试构建一个接收传入的X12 EDI消息的逻辑应用程序。我已经设置了集成帐户并创建了协议。但是,我没有看到将地图与协议相关联的方法。看来我必须在逻辑应用程序中硬编码,这意味着每个贸易伙伴文档类型的一个逻辑应用程序。当然,有一种方法可以根据发件人,收件人和文档类型选择地图。这是其他EDI软件包的基本功能,但我对逻辑应用程序没有任何线索。

2 个答案:

答案 0 :(得分:0)

不确定是否有更好的方法,但您可以在运行时指定地图名称。 然后,由于您已经在使用集成帐户,因此可以使用流动模板外部化业务规则,如下所述:https://blog.mexia.com.au/business-rules-on-azure-logic-apps-with-liquid-templates

您可以将有关贸易伙伴的一些元数据传递给流动模板,然后返回地图名称并在映射操作中使用它。

HTH

答案 1 :(得分:0)

实际上,这几乎和BizTalk Server *一样简单;)

由于地图名称可以在运行时编写,因此您可以使用设置模式上传地图,例如[SenderID] +“_”+ [MessageType] - > “CONTOSOSID_810”

然后将变量设置为[SenderID] +“_”+ [MessageType],并将其用作Liquid Action的Map参数。

重点:X12解码器的每个输出都可以循环,因此您可能必须手动索引初始化变量中的路径,具体取决于您是否/如何进行交易。

* BizTalk Server根据你在这里可以使用的Party的消息类型自动解析了Map,只是名字有点乱。