请求biztalk

时间:2015-05-25 20:26:41

标签: biztalk hl7 biztalk-2013

在我们的一个解决方案(纯消息传递,无编排)中,我们使用MLLP适配器和HL7v2x管道在请求响应接收位置接收消息。接收管道生成响应消息并将其发布,由于提升的属性将通过请求/响应接收端口的发送管道路由回客户端。

然后我们有一个双向发送端口订阅接收的消息,使用映射转换消息并发送到请求响应WCF接收端口也在同一个BizTalk机器上。这听起来很奇怪,但我们有客户通过网络服务发送他们的数据,有些通过HL7v2 MLLP发送,这就是为什么我们这样做。

WCF请求响应接收端口还通过发布消息并提升EpmRRCorrelationToken,CorrelationToken,ReqRespTransmitPipelineID,RouteDirectToTP,IsRequestResponse和ReceivePipelineResponseConfig属性来生成响应,这会使响应作为SOAP响应通过发送管道进行路由。 / p>

我们订阅在WCF请求响应端口上收到的消息,并将它们放到文件中。

技术上它起作用。使用MLLP的客户端获得确认响应。使用WCF SOAP Web服务的客户端获得SOAP响应。文件系统包含已发送的所有消息。

因此,如果我考虑发布的消息,我想是通过MLLP(A)接收的HL7v2消息,以及HL7v2响应(B)。然后由WCF接收的翻译消息接收端口(C),并且它的响应(D)。加上WCF发送端口(E)收到的WCF响应,如附件image所示。

问题是我们在BizTalk中收到暂停的消息,例如“双向接收端口的响应消息”xxx“正在暂停,因为消息传递引擎无法将响应与现有请求消息关联起来。当主机进程被回收时发生。“在这种情况下,服务是MLLP接收端口,并且有3个挂起的消息 - HL7v2 ACK(B),以及我怀疑的WCF服务(D)和(E)的响应消息的2个副本。

我们也看到错误“实例已完成但未消耗所有消息。实例及其未使用的消息已被暂停。”

1 个答案:

答案 0 :(得分:0)

使用MLLP适配器接收MLLP可能超时。您可以查看的内容很少:

  • 持久连接属性应设置为True,接收超时设置为0
  • 由于您正在通过MLLP调用已发布的HL7消息的WCF服务,因此我想知道您是否正在处理WCF服务响应。如果没有,那么它将导致这些错误消息。您需要订阅服务响应或使用单向发送端口。
  • 当您通过MLLP收到消息以将消息发送到FILE位置时,重新考虑您的设计并需要调用本地WCF服务。您可以直接跳过中间的所有WCF路由。