具有信封架构的BizTalk业务流程
我有一个平面文件模式,在该模式中,我将中缀根的Allow Message Breakup设置为true。我还将记录最大出现次数设置为1。发送消息并将多个消息发送到发送端口。我在接收和发送端口使用了带有平面文件反汇编和发送管道XML传输的接收管道。在这之前,一切都很顺利 接收端口的输入.txt文件 1000 ABC IT 1001 DEF维护 1002 GHI工资单 输出是三个.xml文件,如具有信封架构的BizTalk业务流程,biztalk,biztalk-2010,biztalk-orchestrations,Biztalk,Biztalk 2010,Biztalk Orchestrations,我有一个平面文件模式,在该模式中,我将中缀根的Allow Message Breakup设置为true。我还将记录最大出现次数设置为1。发送消息并将多个消息发送到发送端口。我在接收和发送端口使用了带有平面文件反汇编和发送管道XML传输的接收管道。在这之前,一切都很顺利 接收端口的输入.txt文件 1000 ABC IT 1001 DEF维护 1002 GHI工资单 输出是三个.xml文件,如 <?xml version="1.0" encoding="utf-8" ?> &
<?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>
如果我在接收端口发送相同的消息,我在发送端口收到四条消息,如下所示。我不知道是什么错,谁能告诉我是什么错
<?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>
可能发生的情况是,您最初创建了一个发送端口,其中包含订阅消息的筛选器 然后,您创建了一个业务流程,该业务流程还订阅消息并绑定到发送端口 如果在BizTalk Server管理控制台中查找并执行新的查询并搜索Equals订阅,您将看到发送端口的筛选器,如下所示
Property Operator Value Group by
http://schemas.microsoft.com/BizTalk/2003/system-properties.SPTransportID == {GUID} Or
http://schemas.microsoft.com/BizTalk/2003/system-properties.MessageType == MesageType And
请注意订阅是如何具有OR的,第一部分是端口的GUID,第二部分是添加到端口的筛选器。
绑定到端口的业务流程发布的任何消息都会将SPTransportID设置为端口的GUID
发送端口上的筛选器仍在查找消息,业务流程也在将消息发布到端口,因此是四条消息
解决方案。从端口中删除筛选器。可能发生的情况是,您最初创建了一个发送端口,其中包含订阅消息的筛选器 然后,您创建了一个业务流程,该业务流程还订阅消息并绑定到发送端口 如果在BizTalk Server管理控制台中查找并执行新的查询并搜索Equals订阅,您将看到发送端口的筛选器,如下所示
Property Operator Value Group by
http://schemas.microsoft.com/BizTalk/2003/system-properties.SPTransportID == {GUID} Or
http://schemas.microsoft.com/BizTalk/2003/system-properties.MessageType == MesageType And
请注意订阅是如何具有OR的,第一部分是端口的GUID,第二部分是添加到端口的筛选器。
绑定到端口的业务流程发布的任何消息都会将SPTransportID设置为端口的GUID
发送端口上的筛选器仍在查找消息,业务流程也在将消息发布到端口,因此是四条消息
解决方案。从端口删除筛选器。另一件事是保留您的发送端口订阅,并使用所需值验证提升的字段ID来充实它,并禁用业务流程。因此,您的消息将仅被发送端口截获。另一件事是保留您的发送端口订阅,并通过使用所需值验证提升的字段ID来丰富它,并禁用业务流程。因此,您的邮件将仅被发送端口截获。是的,但您还必须为您不想要的邮件订阅,否则这些邮件将无法找到订阅者。是的,但您也必须为您不想要的邮件订阅,否则这些邮件将无法找到订阅者。