0

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

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

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

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

4

4 回答 4

1

确实有一个 C# functoid允许访问上下文属性,但它似乎只适用于Receive Port或Orchestration内部的映射。

于 2011-02-28T15:39:54.140 回答
1

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

http://contextaccessor.codeplex.com/

于 2011-09-22T06:48:38.913 回答
0

我不知道这是否可能。但是,我对访问消息上下文属性有类似的要求,并且我能够在编排中使用上下文属性填充消息,这要归功于

Greg.Forsythe 的出色指导

于 2011-02-21T14:45:42.343 回答
0

我有类似的情况来访问上下文属性以获取我的地图中的文件名属性。我在没有使用任何外部 functoid 的情况下执行了以下步骤。希望这可以帮助某人

脚步:

  1. 创建一个新模式说“FileSchema” FileNode(rootNode) -FileName (fieldElement)

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

  3. 区分 FileName 属性。Rt.Click FileName 并显示促销并将 FileName 添加到 Distinguished property 选项卡。

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

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

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

// 我正在创建一个与文件架构相同的 xml,并将其加载到 XML 变量,然后将其分配给 FileSchema 类型的消息

varFileXML = new System.Xml.XmlDocument();
varFileXML.LoadXml("<FileNode><FileName>FileName_0</FileName></FileNode>");
Msg_FileSchema = varFileXML;

//获取文件名到一个字符串类型的变量

varFileName = Msg_FlatFileSchema(FILE.ReceivedFileName);
varFileName = System.IO.Path.GetFileName(varFileName);

//从消息中访问文件名属性并将变量分配给该属性

Msg_File.FileName = varFileName;
  1. 现在我们将 FileName 放入消息中,您可以在映射到目标架构时使用它

  2. 我使用变换形状创建了一个新的内联映射,其中源作为您的目标架构和文件架构,目标作为目标架构。我将文件名从文件架构映射到我的目标架构文件名属性

这是获取上下文属性的众多方法之一。希望能帮助到你

感谢和问候

西拉姆

于 2017-03-08T23:18:20.470 回答