如何告诉Spring等待更长的REST响应? -OutboundService错误地抛出SocketTimeOutException

2020-09-05 10:55发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在使用标准API通过SCPI将订单导出到后端系统。 按我的意思

  1. 扩展名:CPI订单交换OMS: SapCpiOmsOrderOutboundAction.executeAction()

  2. 扩展名:CPI适配器: SapCpiOutboundService.sendOrder()

  3. 扩展名:出站服务: DefaultOutboundServiceFacade.send()

DefaultOutboundServiceFacade.send()内部调用 restTemplate.postForEntity(),它会抛出 ResourceAccessException ,并带有基础异常 java.net。 SocketTimeoutException ,并显示消息"读取超时" 。 但是,情况是SCPI有时需要更多的时间,在这种情况下,我得到了例外,尽管SCPI处理了所有内容而没有任何错误。

是否可以配置超时配置,即告诉Spring在引发异常之前再等待一点时间?

欢呼,菲利普

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在使用标准API通过SCPI将订单导出到后端系统。 按我的意思

  1. 扩展名:CPI订单交换OMS: SapCpiOmsOrderOutboundAction.executeAction()

  2. 扩展名:CPI适配器: SapCpiOutboundService.sendOrder()

  3. 扩展名:出站服务: DefaultOutboundServiceFacade.send()

DefaultOutboundServiceFacade.send()内部调用 restTemplate.postForEntity(),它会抛出 ResourceAccessException ,并带有基础异常 java.net。 SocketTimeoutException ,并显示消息"读取超时" 。 但是,情况是SCPI有时需要更多的时间,在这种情况下,我得到了例外,尽管SCPI处理了所有内容而没有任何错误。

是否可以配置超时配置,即告诉Spring在引发异常之前再等待一点时间?

欢呼,菲利普

付费偷看设置
发送
1条回答
spaceman01
1楼-- · 2020-09-05 11:07

我找到了解决方案。 简而言之,在local.properties中设置值outboundservices.httpclient.connections.connectionTimeout = 0

覆盖默认值。 0表示会话永不超时,这可能不是您想要的生产时间。

默认值为20000,并在outboundservices-spring.xml中设置

  
      
          
          
          
          
      

  

更多信息

https://answers.sap.com/questions/12758503/指定会话超时.html

https://help.sap.com/查看器/d0224eca81e249cb821f2cdf45a82ace/6.2.0.0/zh-CN/8c005cde86691014a49ce1de22f3897f.html

一周热门 更多>