我有这条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的管道设置了以下阶段:
我的政策设定如下:
使用ReceiveLocation中的上述管道正确配置了我的所有端口。
我发布的Xml消息是用作输入的消息,但是,输出Xml消息应该包含状态值&#34;已批准&#34;但它仍然是&#34;拒绝&#34;。
基本上,这里的问题是,我做错了什么阻止我的政策被用于管道,请记住我的政策&#34;如果条件&#34;总是如此。
答案 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检测跟踪也非常有用。