我有平面文件架构,其中我将中缀根处的允许消息分解设置为 true。我还设置了 Record Max Occurrence 1。发送消息并将多条消息发送到发送端口。我在接收和发送端口中使用了接收管道(带有平面文件反汇编)和发送管道(XML 传输)。直到这一切都很好。
接收端口的输入 .txt 文件
1000 ABC IT 1001 DEF 维护 1002 GHI 工资单
输出是三个 .xml 文件,例如
<?xml version="1.0" encoding="utf-8" ?>
<Record xmlns="http://FlatFilewithEnvelop.FlatFileSchema1">
<Employee xmlns="">
<ID>1000</ID>
<Name>ABC</Name>
<Dept>IT</Dept>
</Employee>
</Record>
<?xml version="1.0" encoding="utf-8" ?>
<Record xmlns="http://FlatFilewithEnvelop.FlatFileSchema1">
<Employee xmlns="">
<ID>1001</ID>
<Name>DEF</Name>
<Dept>Maintenece</Dept>
</Employee>
</Record>
<?xml version="1.0" encoding="utf-8" ?>
<Record xmlns="http://FlatFilewithEnvelop.FlatFileSchema1">
<Employee xmlns="">
<ID>1002</ID>
<Name>GHI</Name>
<Dept>Payroll</Dept>
</Employee>
</Record>
现在我只想发送具有特定 ID 的消息。所以我在使用决策形状的项目中添加了一个编排,使用表达式。否则我不想向发送端口发送任何消息。
Msg(FlatFilewithEnvelop.PropertySchema.ID) == 1000
如果我在接收端口发送相同的消息,我会在发送端口收到四条消息(如下所示)。我不知道错误是什么,谁能告诉我错误是什么。
<?xml version="1.0" encoding="utf-8" ?>
<Record xmlns="http://FlatFilewithEnvelop.FlatFileSchema1">
<Employee xmlns="">
<ID>1000</ID>
<Name>ABC</Name>
<Dept>IT</Dept>
</Employee>
</Record>
<?xml version="1.0" encoding="utf-8" ?>
<Record xmlns="http://FlatFilewithEnvelop.FlatFileSchema1">
<Employee xmlns="">
<ID>1000</ID>
<Name>ABC</Name>
<Dept>IT</Dept>
</Employee>
</Record>
<?xml version="1.0" encoding="utf-8" ?>
<Record xmlns="http://FlatFilewithEnvelop.FlatFileSchema1">
<Employee xmlns="">
<ID>1001</ID>
<Name>DEF</Name>
<Dept>Maintenece</Dept>
</Employee>
</Record>
<?xml version="1.0" encoding="utf-8" ?>
<Record xmlns="http://FlatFilewithEnvelop.FlatFileSchema1">
<Employee xmlns="">
<ID>1002</ID>
<Name>GHI</Name>
<Dept>Payroll</Dept>
</Employee>
</Record>