BizTalk错误:“路由失败报告的路由失败报告”<name is =“”not =“”available =“”> </name>

时间:2012-08-02 17:52:25

标签: biztalk biztalk-2010 btahl7

我尝试向BizTalk发送HL7消息并收到错误代码0xC0C01B4e(路由失败报告),并显示以下消息:

  

路由失败报告&lt;名称不可用&gt;

我在最后一天工作了,我现在收到这条消息,完全令人难以置信。

我的情景:

1 Request/Response Recieve Port named HL7Test.In
1 Receive Location for the Receive Port called HL7Test.In.MLLP
   Type is MLLP
   Receive pipeline is BTAHL72XRecievePipeline
   Send pipeline is BTAHL72XSendPipeline
1 Send Port
   Type is file
   Send pipeline is Passthrough
   Filter is BTS.ReceivePortName == HL7Test.In
1 Party configuration called "REG", with the following BTAHL7 configuration:
   Acknowledgemnt type: OriginalMode
   Validate body segments: Enabled
   Validate custom datat types: Enabled
   Alow trailing delimiters: Enabled
   Schema namespace: http://microsoft.com/HealthCare/HL7/2X
I've deployed the BTAHL7V2XCommon, BTAHL7V21Common and ADT message schemas

我使用MLLP从第三方应用程序发送HL7消息 没有回复 文件未写入 如上所述,生成1个不可恢复的错误。

我发送的信息是:

  

MSH | ^〜\&安培; | REG | ||| FAC || 201207271419 ADT ^ A04 | 504111 | d | ||| 2.1 AL | AL |
  EVN | A04 | 201207271419 || 02 PID | 1 || M11 || REGRIHSOT ^ xyz ^ 2 ^ 3 ^ 5 ^ 6
  NK1 | 1 | Regrihsot ^妻子^ 3 ^ 4 ^ 5 ^ 6 | W | 1 ^ 2 ^城市^ BC ^ V1S 0A7 ^ 6 ^ 7 ^ 8 |
  PV1 | 1 | E | KAMRIHED ||||| MITD4 |||||| HO |||| ED || BC ||||||||||||||||||| FAC || REG ||| 201207271417 |
  ZAD | MAIL ^ 1 ^^ city ^ BC ^ V1S 0A7 | PHYS ^ 1 ^^ Kamloops ^ BC ^ V1S 0A7 | ZTZ | PT |
  ZGC | ^^ |

这一切都在一小时前工作正常。

2 个答案:

答案 0 :(得分:2)

看来我还需要一个消耗ACK的发送端口。 之前我确实有这个,所以我使用过滤器添加了它:

  

BTS.MessageType ==   http://microsoft.com/HealthCare/HL7/2X#ACK_24_GLO_DEF

我不明白为什么我需要消费这条消息。

答案 1 :(得分:1)

我对MLLP适配器没有太多经验,但通常任何发布到您的BizTalk环境的消息都必须有订阅者。如果没有人在等待消息,则BizTalk将其视为错误并引发异常路由失败。这是有道理的,因为如果BizTalk不将未经请求的消息视为异常,那么随着时间的推移,您的环境会因所有这些未经请求的消息而变得臃肿。

我原本预计你的MLLP请求/响应适配器应该已经接收到ACK并关闭了循环。不确定为什么需要创建一个单独的发送端口来获取ACK。值得在这方面进行调查。