HOME > 이용안내
이용안내
 
작성일 : 11-06-17 20:50
[스크립트언어] [ASP] Asp언어 xml 파싱에러처리
 글쓴이 : 관리자
조회 : 40,524  
::::::::::::   Asp언어 xml 파싱에러처리  ::::::::::::::::::
 

WebDav라고 하는방식입니다. 간단히 설명만 드리면,
XMLHTTP 객체를 웹서버에 질의해서
결과를 XML문서로 리턴받는 방식입니다.
 
물론 XML문서는 속성값으로 파싱을 하셔서
가져와서 쓰면 되는데요, XMLDOM을 
쓰기가 쉽지 않죠..왜냐면 COM개체 및 자동화에 대해서 
이해가 필요하죠.
그나마 COM의 개념에 비하면 쉬운편이죠....
 
 보통은 DOM아니면  XLS(서식파일) 을 미리 정의해서
  
짤라서 쓰는데요...
  
 
아무튼 소스를 설명해 드리겠습니다.
 
 
Set http = CreateObject("Microsoft.XMLHTTP")
 
// xmlhttp.dll(Inprocess Com 개체 생성)
  
 
http.open "GET", “http://kt68freepass.magicn.com:8080/ComAuthX?SID=ktf&CTN=01637506xx&SSN=710304-xxxxxxx”, False
 
// 이런 SSN은 주민번호 같은데...710304-xxxxxxx 질문 수정하셈.. 
// 아그리고 주민번호를 Get방식으로 던지는 코딩은 보안에 
// 아주 위험합니다. POST로 던져야지욤...수정하세욤
// 님 핸펀번호같은디......-_-;;
//메소드 방식은  위의 URL에 Get방식으로 질의
 
  
http.send
// 질의 전송
 
 
 
If (http.Status = 200) Or (http.Status = 207) Then
 
// 전송 성공시 (에러는 401, 402,403, 404, 500이 보통 300이상)
  
 
Dim rspXML
Dim rspNode1, rspNode2, ok
 
Set rspXML = CreateObject("Microsoft.XMLDOM")
 
//XMLDOM객체 생성 (결과값 파싱을 위해)
 
 
 
If rspXML.loadXML(http.responseText) Then
 
    Set rspNode1 = rspXML.selectSingleNode("KTF-RESPONSE")
 
    result = rspNode1.getAttribute("ret")
 
  // XML의 속성태그 중에 의 값을 받아 result에 저장
 
 
 
Else // 실패 시
 
    result = "FXMLerr" //에러코드
End If
 
 
Set rspXML = Nothing  //객체 초기화
 
  
If left(result,1) = “F” Then  // 리턴된 값의 왼쪽에서 1번째 값이
                                     //   F이면 실패
 
// 인증에 실패 하였습니다.
 
 
Else                                      // 아니면 성인 인증 Ok!!
 
 
 
 if left(result,1) = ‘0’
   //  13(생일이 지난 경우 12)세 이하
 
 else if left(result,1) = ‘2’
  //  16(생일이 지난 경우 15)세 이하
 
 else if left(result,1) = ‘5’
 
//  20(생일이 지난 경우 19)세 이하        
 else if left(result,1) = ‘9’
// 사용가능 – 법인고객,
  21(생일이 지난 경우 20)세 이
 
End If
 
Else
 
 // 여기는 통신에러가 들어갑니다....  권한이니 인증, 파일없음 등의
 
// 에러상태를 여기서 처리해 주시면 됩니다. 상태 300이상값
 
// Ex) If (http.Status = 401)
 
          // 인증오류
 
        else If  (http.Status = 403)
 
          // 권한 오류
 
        else If  (http.Status = 404)
 
         // 파일오류
        else If  (http.Status = 500)
 
          // 서버오류
 
        else
 
          // 기타 오류처리
 
         End If
 
End If
 

결과값은 result에 저장이 됩니다. 이값이 어떤식으로 넘어오느냐는
 
처리를 잘해주셔야지요
  
l         출력데이터 : 결과코드(‘F’/’S’),결과(1바이트), 성별(1바이트-‘1’:남,’2’:녀)
   
이 값이 result안에 어떤식으로 저장되어 오는지
  
그걸 잘 짤라쓰셔야 합니다. 위에 소스에서 보니깐
  
맨 왼쪽이 T/F 그다음 left(result,2)가 1아니면 2가 넘어 오겠지요....
  
인증에 필요한 정보는 클라이언트에서 인증에 관한 처리는 서버에서 합니다.
  
그 결과만 클라이언트에서 내려줘서 그에 상응하는 처리만 하면 되는 소스입니다.
  
거의 스코프에 맞는 코딩이 되엇습니다.
  
소스정리와 문법은 맞추어 코딩하시면 되겠습니다





Cloud server Streaming service Domain Cloud Firewall

 
 

Total 44

번호 제   목   글쓴이 날짜 조회
4 [스크립트언어] [ASP] ASP에서 글 내용 한줄씩 프린트 하기 관리자 2011-06-17 31160
3 [스크립트언어] [ASP] Asp언어 xml 파싱에러처리 관리자 2011-06-17 40525
2 [스크립트언어] [PHP] checking lex output file root... ./configure: line 2554: lex: command not found 컴파일에… 관리자 2011-06-17 31270
1 [스크립트언어] 아이온큐브 라이브러리 사용후 아파치에러 관리자 2011-05-16 31569
 1  2