2011-10-22 1 views
1

속성 데이터를 가져 와서 결과를 로컬 데이터베이스에 저장하기 위해 Coldfusion 9에서 webservice를 사용하고 있습니다. 스크립트는 하루에 한 번 스케줄러를 통해 실행됩니다. 문제는 가끔입니다. 오류가 발생합니다 (아래 참조).Coldfusion consuming webservice -> java.net.SocketTimeoutException : connect timed out

기본적으로 ID 목록 (하나의 요청으로이 목록을 가져옴)을 얻고 모든 ID (~ 150 개 요청)에 대해 하나의 webservice 요청으로 결과를 반복합니다.

슬프게도 한 가지 요청으로 모든 속성에 대한 자세한 데이터를 얻을 수 없습니다. 같은 결과 ...

"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... 

이 하나에 모든 아이디어 -

난 이미 JVM 인수에 -Dsun.net.client.defaultConnectTimeout=10000 설정 시도? 타임 아웃의 원인은 무엇입니까 : 느린 원격 서버입니까? 새로운 연결을 위해 더 많은 소켓을 열 수없는 우리 서버?

답변

0

더 작은 배치로 웹 서비스 요청을해야 할 수도 있습니다. DB 또는 다른 영구 변수를 사용하여 150 개의 초기 ID 목록을 저장 한 다음 1-50, 51-100 등을 별도의 cfschedule 호출로 저장하십시오. 일괄 처리를 처리하는 동안 간격을 61 초로 설정하고 모든 일괄 처리가 완료되면 코드를 원래 값으로 재설정하도록 코드에서 예약 된 작업의 속성을 업데이트 할 수 있습니다.

+0

오류가 루프의 모든 인덱스에서 발생하는 것 같습니다. 다른 제안? 모든 아이디어를 어떻게 timeoutlimit (applicationwide 좋을 것이지만 serverwide도 괜찮을 것입니다)을 늘리는가? – Seybsen

+0

루프/코드 게시 – Antony