【问题标题】:Timeout in two-way receive port when redirecting failed messages重定向失败消息时双向接收端口超时
【发布时间】:2015-06-13 03:02:50
【问题描述】:

我有一个双向 WCF 接收端口,我都检查过:

1) 路由失败消息

2) 失败时暂停请求消息

需要此配置才能将失败的消息重定向到我们的“异常门户”。

当收到一条消息并且在 XMLReceive 管道中验证失败时,该消息会按预期重定向到我们的“异常门户”。

但问题是 WCF 服务的使用者永远不会出错,因此连接会在一段时间后超时,这对使用者来说非常混乱。

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

【问题讨论】:

    标签: biztalk


    【解决方案1】:

    目前发生的情况是消息在接收管道上失败,被路由到您的门户,但没有响应被路由回。您必须确保发回消息。你可以这样做:

    • 创建一个进行验证的编排(而不是在管道上进行),并确保在编排中发送响应以及将路由故障发送到您的门户
    • 创建验证消息的自定义组件(可能通过在 try 块中调用 XML 验证管道并在不重新抛出异常的情况下捕获异常);如果出错,它会将消息发送到您的门户,并将 pInMsg 替换为发送回合作伙伴的合理信息。
    • 让您的门户接收位置成为一个请求响应端口(也许,再一次,在它后面有一个编排),并将响应路由回 WCF 双向端口。这种方式涉及更多,老实说,我不完全确定这里的工作实现是什么样的,但它可能是可能的。

    如果由我决定,我会选择编排。您当然可以从编排中调用 XML Validator 管道,也可以在其中使用其他验证逻辑(例如调用 BRE)。

    【讨论】:

      猜你喜欢
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 2023-03-24
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多