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

Biztalk 重定向失败消息时双向接收端口超时,biztalk,Biztalk,我有一个双向WCF接收端口,在这里我检查了这两个端口: 1) 路由失败的消息 2) 失败时挂起请求消息 此配置用于将失败消息重定向到我们的“异常门户” 当收到一条消息并且在XMLReceive管道中验证失败时,该消息将按预期重定向到我们的“异常门户” 然而,问题是WCF服务的使用者永远不会得到一个错误,因此连接会在一段时间后超时,这对使用者来说非常混乱 有没有办法解决这个问题?我遗漏了什么吗?当前发生的情况是消息在接收管道上失败,被路由到您的门户,但没有响应被路由回。你必须确保发回一条信息。您可

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

1) 路由失败的消息

2) 失败时挂起请求消息

此配置用于将失败消息重定向到我们的“异常门户”

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

然而,问题是WCF服务的使用者永远不会得到一个错误,因此连接会在一段时间后超时,这对使用者来说非常混乱


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

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

  • 创建执行验证的业务流程(而不是在管道上进行验证),并确保在业务流程中发送响应以及将失败路由到门户
  • 创建一个验证消息的自定义组件(可能通过在try块中调用XML验证管道并捕获异常而不重新调用它);出现错误时,它会将消息发送到您的门户,并将
    pInMsg
    替换为发送回合作伙伴的合理信息
  • 让您的门户接收位置成为请求-响应端口(也许,同样,它后面有一个业务流程),并将响应路由回WCF双向端口。这种方式更复杂,老实说,我不完全确定这里的工作实现是什么样子,但这是可能的
如果由我来决定,我会选择编曲。您当然可以从编排中调用XML验证器管道,也可以在其中使用其他验证逻辑(例如调用BRE)