BizTalk 2010:在地图中访问上下文

时间:2011-02-07 17:30:31

标签: mapping biztalk biztalk-2010

这可能是一个非常基本的问题,但希望有人能够回答它。

我正在使用自定义接收管道接收消息(HL7)。在我的自定义管道中,我正在将属性提升到上下文中。我已经设置了一个地图,我需要访问这些属性。但是,我想在发送端访问这些属性。它需要在发送端的原因是因为我将我的地图附加到发送端口,所以我假设该消息已经命中了MessageBox并将被映射到发送端。希望这是有道理的......

我知道我可以使用一些第三方工具,但我希望有一个简单的functoid,或者我可以在脚本functoid中输入一些代码来访问上下文。

有人能够指出我正确的方向吗?

4 个答案:

答案 0 :(得分:1)

确实a C# functoid允许访问上下文属性,但它似乎只适用于接收端口上或 Orchestration 内的地图。< / p>

答案 1 :(得分:1)

您可以使用Context Accessor Functiod执行此操作...将它的管道组件与您的管道组件相结合它应该可以工作...请注意它应该在同一个线程中处理...

http://contextaccessor.codeplex.com/

答案 2 :(得分:0)

我不知道这是否可行。但是,我有类似的访问消息上下文属性的要求,我能够在业务流程中使用上下文属性填充消息,这要归功于

Greg.Forsythe's excellent instructions

答案 3 :(得分:0)

我有类似的情况来访问上下文属性以获取my map中的filename属性。我没有使用任何外部functoid做了以下步骤。希望这有助于某人

步骤:

  1. 创建一个新架构说&#34; FileSchema&#34; filenode的(根节点) -FileName(fieldElement)

  2. 单击架构并在属性目标命名空间中 - 清除命名空间。

  3. 区分FileName属性。 Rt。单击FileName并显示促销信息,并将FileName添加到Distinguished属性选项卡。

  4. 在目标架构中,添加字段FileName。对我来说,我将它添加到SQL模式,因为我需要数据库中每一行的文件名

  5. 在您的业务流程中,使用消息分配形状并键入以下

  6. //创建System.XML.XMLDocument类型的变量varFileXML

    //我创建一个与文件模式相同的xml并将其加载到XML变量,然后将其分配给FileSchema类型的Message

    Msg_File.FileName = varFileName;
    

    //将FileName获取为字符串类型

    的变量
    C#

    //从消息中访问filename属性并将变量赋值给

    odbccp32.dll
    1. 现在我们已将FileName输入到消息中,您可以将其用于映射到目标架构

    2. 我使用转换形状来创建一个新的内联映射,其中source作为目标模式和fileschema在一起,目标作为目标模式。我将文件名从fileschema映射到我的目标模式filename属性

    3. 这是获取上下文属性的众多方法之一。希望它有所帮助

      谢谢&amp;问候

      Silam