login register Sysop! about ME  

2020년 07월 16일 12시 28분 00초,     조회수 : 1035
  제목 : ServerXMLHTTP timeout 질문합니다.
SEQ : 8937 글쓴이 : jhs508

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

며칠째 해결하지 못해 질문합니다.. 제발 도와주세요 ㅠㅠ.. 
제가 요청을 한 url에서 응답이 없으면 timeout 으로 지정하려고 합니다. 
그래서 아래처럼 소스를 구현했습니다.


    Set lobjHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    lResolve = 5 * 1000  
    lConnect = 5 * 1000  
    lSend = 15 * 1000  
    lReceive = 60 * 1000 

    lobjHttp.setTimeouts lResolve, lConnect, lSend, lReceive

    lobjHttp.open strMethod, lstrTargetUrl, false
    lobjHttp.setOption 2, 13056                                 'Ignore all the Certificate errors
    lobjHttp.setRequestHeader "Content-type", "application/json"    
    
    lobjHttp.Send lstrPostData 

    lintRetVal = lobjHttp.status
    lstrError  = lobjHttp.statusText
 
------------------------------------------------

    lobjHttp.setTimeouts lResolve, lConnect, lSend, lReceive
이 부분이 타임아웃이 세팅된 부분인데요, lReceive 를 60초로 세팅하였습니다.
문제는 타임아웃인걸 어떻게 알고 분기처리를 하냐입니다.

먼저 lintRetVal  를 찍어보면 0으로 출력됩니다.
HTTP status 가 0인것을 타임아웃이라 볼수는 없을것 같아 이건 아닌거 같습니다.

Err.Number를 찍어보면 "-2147483638" 가 출력됩니다.
하지만 Err.Number에 대해 찾아보니 0이상으로 오류값이 출력된다고 하더군요
이 값을 가지고 처리하긴 힘들것같습니다.

따라서 저는 타임아웃을 처리하기위해 어떤값을 활용해야하는지 모르겠습니다.
찾아보니 http status가 408 이면 타임아웃 이런 말이 있던데
http status 는 0으로 출력되어.....
이건아닌거같ㄱ습니다..

혹시 도움 주실분이 계씨면 정말 좋겠습ㄴ디ㅏ ..ㅠ


  sobob
  2020-07-20(16:46)
캐릭 이미지
try catch문으로 가능한데, 아래 링크 한번 확인해보세요.
https://stackoverflow.com/questions/3927825/setting-a-timeout-for-
serverxmlhttp-request



제목 작성자 날짜 조회
ServerXMLHTTP timeout 질문합니다. (1) jhs508 2020-07-16 1035

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})