我试图向HL7发送一条BizTalk消息,并获得一个错误代码0xC0C01B4e (路由失败报告),其中包含以下消息:
路由失败报告
我已经做了最后一天的工作了,现在我收到了这条信息,完全让人心烦意乱。
我的场景:
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消息,文件没有写入,文件没有写入,生成了一个不可恢复的错误,如前所述。
我要传达的信息是:
MSH|^~\&|REG|FAC|||201207271419||ADT^A04|504111|D|2.1|||AL|AL| EVN\x{e76f}\x{e76f}x^2^3^5^6 NK1|1|Regrihsot^Wife^3^4^5^6|W|1^2^city^BC^V1S 0A7^6^7^8 PV1|1|E|KAMRIHED|||||MITD4||||||HO||||ED||BC|||||||||||||||||||FAC||REG|||201207271417| ZAD=Mail^1^city^BC^V1s0A7 Kamloops^1^Kamloop^BC^V1s0A7 ZGC_^^__
一小时前一切都很顺利。
发布于 2012-08-02 22:10:12
看来,我还需要一个使用ACK的发送端口。我以前确实有过这种情况,所以我使用过滤器添加了它:
BTS.MessageType == DEF
我不明白的是为什么我需要使用这个信息。
发布于 2012-08-26 15:30:38
我对MLLP适配器没有太多的经验,但一般来说,任何发布到您的BizTalk环境中的消息都必须有订阅者。如果没有人在等待消息,那么BizTalk将其视为错误,并引发异常路由失败。这是有意义的,因为如果BizTalk不将未请求的消息作为异常来处理,那么随着时间的推移,您的环境会被所有那些未经请求的消息所淹没。
我原以为您的MLLP请求/响应适配器应该已经获得ACK并关闭了循环。不确定为什么需要创建一个单独的发送端口来获取ACK。这可能值得在这方面进行调查。
https://stackoverflow.com/questions/11783056
复制相似问题