【发布时间】:2015-07-07 09:30:05
【问题描述】:
我在 BizTalk 中有一个编排,它通过来自 SAP 的 Web 服务收集数据。
我的流程如下。
我们在接收端口上有一个 SOAP 服务,当我们收到来自 SOAP 的请求时,我们会将其转换为 SAP RFC 文件格式并将其发送给 SAP。当我们尝试从 SAP 获得响应时,当响应数据很大时会出现错误。如果响应消息太大,我们的服务会出现超时错误。否则如果消息大小不大也没有问题。
我尝试增加 BizTalk 管理控制台的超时时间,但仍然失败。无论我做什么,超时时间始终为 1 分钟。
将以下 XML 配置标签添加到 machine.config 文件后,我收到如下图所示的错误。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config
<configuration>
<system.transactions>
<machineSettings maxTimeout="00:20:00" />
</system.transactions>
</configuration>
下图是 SAP 发送端口
SAP 发送端口详细信息
详细来说,您可以看到我的超时持续时间约为 10 小时,但在 SOAP UI 中,我在 1 分钟后收到超时错误。
下图是接收端口
您还可以找到 biztalk 事件查看器错误,如下所示。
A response message sent to adapter "SOAP" on receive port "WebPort_SAP/MusteriFaturaT/ABC_SAP_Fatura_T_FaturaOrch_InvoiceReceivePort" with URI "/SAP/MusteriFaturaT/ABC_SAP_Fatura_T_FaturaOrch_InvoiceReceivePort.asmx" is suspended.
Error details: The original request has timed out. The response arrived after the timeout interval and it cannot be delivered to the client.
并且 SOAPUI 响应屏幕如下所示为空白
【问题讨论】:
-
您所说的响应有多大,您能告诉我们响应的大概大小吗?
-
我无法收到任何响应,这就是为什么我不能说响应大小,但响应消息包括例如 50000 行。 RFC 向我们发送了 50000 行,然后 biztalk 尝试将其转换为 XML。 SAP RFC 在 4-5 分钟内完成流程,但 biztalk 在 1 分钟内收到超时错误。
-
您是使用 SOAP 适配器还是 WCF 适配器来使用 SAP 服务?
-
我已经更新了我的问题,你可以看到我的接收和发送端口
-
您确定不是 SOAP UI 超时了吗?从错误看来,BizTalk 试图传递响应消息,但客户端已超时。