是否可以计算biztalk发送端口上的记录数

是否可以计算biztalk发送端口上的记录数,biztalk,biztalk-2010,Biztalk,Biztalk 2010,我有一个场景,在这个场景中,我收到一个XML文件,它有3个节点(页眉、正文和页脚),第二个节点(正文)本身可能有记录。我会将这些记录映射到一个平面文件中,并将其输出到一个特定的文件夹中。但在某些情况下,body节点可能包含0条记录 我只需要在有记录的情况下输出发送端口文件,不要输出大小为0 kb的文件 有什么建议吗?我可以看到两种可能的方法: 优雅的方法-创建一个自定义接收管道组件,该组件使用XPath确定主体节点是否包含记录。如果有,则传递消息;如果不是,则返回一个空流,这样就不会向消息框发布

我有一个场景,在这个场景中,我收到一个XML文件,它有3个节点(页眉、正文和页脚),第二个节点(正文)本身可能有记录。我会将这些记录映射到一个平面文件中,并将其输出到一个特定的文件夹中。但在某些情况下,body节点可能包含0条记录

我只需要在有记录的情况下输出发送端口文件,不要输出大小为0 kb的文件


有什么建议吗?

我可以看到两种可能的方法:

  • 优雅的方法-创建一个自定义接收管道组件,该组件使用XPath确定主体节点是否包含记录。如果有,则传递消息;如果不是,则返回一个空流,这样就不会向消息框发布任何消息
  • 不那么优雅的方法——在编排中接收消息(页眉、正文和页脚),并使用与(1)中相同的XPath语句,确定正文节点是否包含记录。如果是,则使用发送形状发送消息;如果没有,则让业务流程在不发送消息的情况下终止
  • 在任何一种情况下,我都会在发送端口上执行映射(该端口也将配置平面文件汇编程序)。如果选择仅消息传递解决方案(上面的1),则需要根据接收端口名称或消息类型(或某些其他升级属性)进行筛选

    我已将第一个选项标记为“优雅”,因为在接收管道解析消息时可以完成处理,并且无需额外处理(即旋转编排)即可实现所需结果