BizTalk:BTAHL72XReceivePipeline 管道组件

BizTalk: BTAHL72XReceivePipeline Pipeline Component

我已经设置了两个应用程序,一个带有 FILE 接收端口,另一个带有订阅该接收端口的发送端口,过滤器设置为 BTS.ReceivePortName == {ReceivePortNameHere}。我正在使用 BizTalk 2013 R2。

在接收端口中,我正在使用管道 'BTAHL72XReceivePipeline'。而且,在发送端口中,我正在使用管道 'BTAHL72XSendPipeline'。

当我将 HL7 消息放入接收端口文件位置时,它会产生错误:

The Messaging engine failed to process a message submitted by adapter:FILE Source URL:E:\InboundToBizTalk\*.hl7. Details:The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

不过,我确实有一个订阅集。为什么会出现此错误?管道组件或我使用它的方式有问题吗?

迄今为止最可能的原因:

  1. 接收端口名称和筛选器中的值之间存在拼写错误。
  2. 发送端口未登记或启动。
  3. 不要在过滤器中使用引号 属性。

在组概览页面上搜索 "Subscriptions" 并根据您的发送端口名称进行过滤。 确认您看到激活订阅并确认订阅的筛选条件正确。

结果是无法路由的ACK,因此导致整个流程出错。对于 MLLP 传输类型,它是双向的,因此可以路由 ACK。对于 FILE 传输类型,这是一种方式,因此需要单独考虑 ACK。

为了解决这个问题,创建了另一个订阅 ACK 的端口。