BizTalk业务规则引擎管道框架

时间:2016-01-28 12:35:14

标签: xml biztalk biztalk-rule-engine biztalk-pipelines

我有这条XML消息:

<ns0:PurchaseOrder xmlns:ns0="http://Samples.BreFramework.Schemas.Schema1">
  <Header>
    <ReqID>ReqID_0</ReqID>
    <Date>Date_0</Date>
  </Header>
  <Item>
    <Description>Description_0</Description>
    <Quantity>400</Quantity>
    <UnitPrice>20</UnitPrice>
  </Item>
  <Status>Denied</Status>
</ns0:PurchaseOrder>

我使用名为PurchaseOrder_Receive的管道设置了以下阶段:Decode Stage properties and default XML Disassembler

我的政策设定如下:PurchaseOrderRules - Policy

使用ReceiveLocation中的上述管道正确配置了我的所有端口。

我发布的Xml消息是用作输入的消息,但是,输出Xml消息应该包含状态值&#34;已批准&#34;但它仍然是&#34;拒绝&#34;。

基本上,这里的问题是,我做错了什么阻止我的政策被用于管道,请记住我的政策&#34;如果条件&#34;总是如此。

1 个答案:

答案 0 :(得分:1)

我捏造了BRE管道框架的作者,这是他的回应。

  

我根本没有看到问题中使用的InstructionLoaderPolicy。必须在InstructionLoaderPolicy中声明XML文档类型,以便ExecutionPolicy可以访问基于XML的事实。这在此处记录(在“创建TypedXMLDocument对象”文本之后) - https://adventuresinsidethemessagebox.wordpress.com/2014/03/19/using-the-bre-pipeline-framework-to-assess-and-update-xml-message-content-using-xml-vocabularies/。在InstructionLoaderPolicy中指定的消息类型与XML词汇表中的消息类型匹配非常重要。

     

您对他应用TrackingFolder参数的建议是现货。他可能会看到XML事实没有被断言,因此规则没有触发。使用CAT检测跟踪也非常有用。

相关问题