运行BizTalk 2013r2标准。
我有一个WCF-Custom Oracle发送端口,用于从Oracle数据库中选择数据。这与一个直到上周一直运作良好的编排有关。
它的超时设置如下:
如果发生超时,我希望适配器重试。问题是,即使选择请求已经运行了很多小时,它也不会超时。
从管理控制台获取的以下屏幕抓取显示状态为"在进程"这是在凌晨5点发送的(现在是上午10点36分)。
查询服务实例显示相同(脱水实例是绑定到发送端口的业务流程)
我知道与Oracle数据库的连接可能不可靠。如果适配器超时并重试,那就没问题了。
我对MSDN文档(https://msdn.microsoft.com/en-us/library/dd788467.aspx)的理解是,适配器应该对抗30分钟的OpenTimeout值。谁能看到我哪里出错?
理解的变化! 在查看今天早上的数据构建中的WCF跟踪之后,我可以看到问题不在于适配器没有超时,而是在收到选择响应后发送端口无法完成。
以下显示写入和关闭的请求。但是,响应已写入但未关闭:
当我查看从不同业务流程触发的成功Oracle选择的跟踪时,我看到:
进行选择的业务流程如下:
SendSelect和RcvPromResult之间的表达式形状包含以下trace语句,如果是debigview,我可以看到输出:" Microsoft.BizTalk.CAT.BestPractices.Framework.Instrumentation.TraceManager。 WorkflowComponent.TraceInfo("促销请求调用");"
但是,我没有从"跟踪结果"中得到声明的输出。表达形式
从范围形状调用逻辑发送,异常处理程序将路径引用到esb异常框架。此异常处理程序不会被触发
在收到选择结果后,有关为什么问题连接未被关闭的任何想法?