重定向失败消息时,双向接收端口超时

时间:2015-06-12 12:54:19

标签: biztalk

我有一个双向WCF接收端口,我已经检查了这两个端口:

1)路由失败的消息

2)在失败时暂停请求消息

需要此配置才能将失败的消息重定向到我们的"例外门户"。

当收到消息并且在XMLReceive管道中验证失败时,消息将被重定向到我们的"异常门户"如预期的那样。

然而问题是WCF服务的使用者永远不会出现故障,因此Connection会在一段时间后超时,这对消费者来说非常混乱。

有没有解决这个问题?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

当前发生的事情是,接收管道上的消息失败,被路由到您的门户,但没有响应被路由回来。您必须确保发回消息。你可以通过以下方式做到:

  • 创建一个执行验证的Orchestration(而不是在管道上执行),并确保在业务流程中发送响应以及将故障路由到您的门户
  • 创建一个验证消息的自定义组件(可能通过在try块中调用XML Validation管道并捕获异常而不重新抛出它);如果出现错误,它会将消息发送到您的门户网站,并将pInMsg替换为合理的内容以发回给合作伙伴。
  • 让您的门户接收位置成为请求响应端口(可能再次,在其后面有一个业务流程),并将响应路由回WCF双向端口。这种方式更为复杂,说实话,我并不完全确定这里的工作实现是什么样的,但这可能是可能的。

如果由我自己决定,那我就去参加编排。您当然可以从业务流程调用XML Validator管道,或者您可以在其中使用其他验证逻辑(例如,调用BRE)。