Coldfusion 消耗 Web 服务 -> java.net.SocketTimeoutException: connect timed 超时



我正在使用Coldfusion 9上的web服务来获取属性数据并将结果保存到本地数据库。脚本每天通过调度器执行一次。问题是有时会抛出错误(见下文)。

基本上我得到一个ID列表(一个请求得到这个列表)和循环的结果与一个webservice请求每个ID(~150个请求)。

遗憾的是,我无法在一次请求中获得所有属性的详细数据。

我已经尝试在JVM参数中设置-Dsun.net.client.defaultConnectTimeout=10000 -结果相同…

"Error","jrpp-7225","10/22/11","03:00:32",,"Cannot perform web service invocation properties.
The fault returned when invoking the web service operation is:
AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/} Server.userException
    faultSubcode:
        faultString: java.net.SocketTimeoutException: connect timed out 
        faultActor:
            faultNode:
                faultDetail: {http://xml.apache.org/axis/}stackTrace:java.net.SocketTimeoutException: connect timed out
                at java.net.PlainSocketImpl.socketConnect(Native Method)
                at java.net.PlainSocketImpl.doConnect(Unknown Source)
                at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
                at java.net.PlainSocketImpl.connect(Unknown Source)
                at java.net.SocksSocketImpl.connect(Unknown Source)
                at java.net.Socket.connect(Unknown Source)
                at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:15...

对这个有什么想法吗?导致超时的原因是:远程服务器速度慢?我们的服务器不能为新的连接打开更多的套接字?

您可能必须以较小的批量处理web服务请求。使用DB或其他持久化变量来存储150个id的初始列表,然后在单独的cfschedule调用中执行1- 50,51 -100等操作。您可以在代码中更新计划作业的属性,以便在处理批处理时将间隔设置为61秒,然后在所有批处理完成后将其重置为原始值。

相关内容

  • 没有找到相关文章

最新更新