http://munduki.tomeii.com/darkhorse/entry/ASP-ASP에서-웹서비스WebService-호출

[참조] http://www.acidrazor.com/blog/calling-a ··· c-asp%2F

ASP 에서 웹서비스를 호출 하는 경우에 Soap 을 이용하여 처리 한다.


'*********************************************************************************
' 웹서비스 호출
'*********************************************************************************

Function sendToWebService(WebService,Data)
    Dim SoapRequest
    Set SoapRequest = Server.CreateObject("Msxml2.XMLHTTP")
    SoapRequest.Open "POST",WebService , False
    SoapRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    SoapRequest.Send Data
    sendToWebService = SoapRequest.responseText
    Set SoapRequest = Nothing
End Function

'*********************************************************************************
' 웹서비스 호출
'*********************************************************************************

'*******************************************************************************************************************
' 웹서비스 호출(오류처리 추가)
'*******************************************************************************************************************

Function sendToWebService(WebService,Data)
    Dim SoapRequest
    Set SoapRequest = Server.CreateObject("MSXML2.ServerXMLHTTP")
    SoapRequest.Open "POST",WebService , False
    SoapRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    SoapRequest.Send Data

    status = SoapRequest.status

    On Resume Next
    '오류가 있거나 (오류가 없을경우 err.number가 0 값을 돌림) status 값이 200 (로딩 성공) 이 아닐경우
    If err.number <> 0 or status <> 200 then
        if status = 404 then
            sendToWebService = "존재하지 않는 페이지 입니다.(404)"
        elseif status >= 401 and status < 402 then
            sendToWebService = "접근이 금지된 페이지 입니다.(401)"
        elseif status >= 500 and status <= 600 then
            sendToWebService = "내부 서버 오류 입니다.(500)"
        else
            sendToWebService = "서버가 다운되었거나 올바른 경로가 아닙니다."
        end if
    '오류가 없음 (문서를 성공적으로 로딩함)
    else
          sendToWebService = SoapRequest.responseText
    end if

    'sendToWebService = SoapRequest.responseText
    Set SoapRequest = Nothing
End Function

'*******************************************************************************************************************
' 웹서비스 호출
'*******************************************************************************************************************


    Data = "firstparameter=yourdata&secondparameter=yourdata" 'and the WebService would look like:
    WebService = "http://" & trim(Request.ServerVariables("SERVER_NAME")) & "service/service.asmx/webmethodfunction"
    
    If InStr(sendToWebService(WebService, Data), "true") = 0 Then
        response.write "<script>alert('오류가 발생하였습니다.');</script>"
    Else
        response.write "성공"
    End If
'response.end

+ Recent posts