导航

Orchestration与Pipeline之间的通信问题

Posted on 2008-03-17 11:44  鸡尾虾的壳  阅读(230)  评论(0编辑  收藏  举报
通俗一点:怎么把Orchestration中可访问的信息,传递到Pipeline中。结论是通过Message Context Property。

Message Context Property有两种类型:Message Data和Property Data。Message Data表示数据来源于Message本身,而Property Data不是。它们都需要Property Schema来进行属性绑定。

对于前者,"Property Schema Base"的值是MessageDataPropertyBase,默认值是也。对于后者,该属性的值必须设置为MessageContextPropertyBase。当然,系统已经有一些自定义的系统上下文属性,可以直接访问,不在我们的讨论范围内。

Orchestraton中,上下文属性的访问名称是:Project Default Namespace+PropertyName。在Construct Message中,利用类似Msg(DefaultNS.PropertyName)=Value的方式来设置。其实一个简单的方法就可以知道属性的访问名称:在第一个Receive Shape的Filter下拉列表中,可以查看所有的Context Property。

Pipeline中,通过Context来访问属性值。需要提供NS与PropertyName, NS是<Schema>的Target Namespace属性值。