배경: 선물 쿠폰을 들고와 매장에서 물건을 사고 쿠폰을 이용하여 잔액을 낸다.
쿠폰번호를 입력하고 인증 서버에 인증요청한뒤 결과를 가지고 온다.
인증서버는 2000 서버이고 웹포스 서버가 따로 존재하고 있다.
문제: 인증서버를 2003 서버로 업그레이드 한 뒤 인증 서버에서 결과물을 들고 올 수가 없다.
어느날 매장에서 쿠폰 인증이 되지 않아 쿠폰관련된 상품을 판매 등록할 수 없다고 연락이 왔다.
문득 생각에 요즘 보안 정책이 까다로워 져서 서버관리자에게 문의를 해봤지만, 80 포트를 막지 않는다고 한다.
ㅡ,.ㅡ 당연한건가? 난 잘 모르겠지만, 여하튼 그래서 인증서버 관리자에게 문의를 했다.
최근 바뀐 거라곤 2000 에서 2003 으로 서버 OS 를 업그레이드 한 거 밖에 없다고 한다. 음.. 그게 다라고?
asp 소스를 가만 히 보니 인증을 위해 get 형식으로 ULR 을 조합하여 ServerXMLHTTP 객체를 생성한뒤 값을 태운다.
그럼 이부분에서 문제가 있는게 당연한데, 솔직히 ServerXMLHTTP 객체가 뭔지 몰라 인터넷을 찾아봤다
ServerXMLHTTP 의 정의는 MSND 고객지원에 가보면 아래야 같이 정의가 되어 있다.
"ServerXMLHTTP는 다른 웹 서버 간에 서버의 안전한 HTTP 액세스를 위한 메서드와 속성을 제공합니다. 이 개체를 사용하면 다른 웹 서버 간에도 XML 데이터를 교환할 수 있습니다."
음.. 그렇군.. 그리고 바로 밑에 플랫폼 요구사항을 보니 windows 2000 서버에서나, NT 4.0 과 IE 5.01 이상에서 사용할 수 있다고 씌여 있는데, 중간에 아는 선배가 MSXML2.ServerXMLHttp 말고 Microsoft.xmlHTTP 로 써바.. 라고 이야기를 해주셔서, 그렇게 했더니 일단 작동이 되어 매장의 불만을 해소 시켜줄 수 있었다. 하지만, 궁금증은 더 커졌고..그럼.. 2003 서버에서는 안되나? 라는 궁금증이 생겨났고, 좀더 읽어 내려갔다.
XMLHTTP 와 ServerXMLHTTP 설명이 나왔다.
XMLHTTP 는 클라이언트 응용프로그램용으로 설계된것. WinInet 기반, URLMon 에 의존
ServerXMLHTTP 는 서버 응용 프로그램용으로 설계된 것, HTTP 클라이언트 스택인 WinHTTP 에 의존
(뭥미? ㅡ,.ㅡ)
대충 XMLHTTP 도 뭔지 알게되었다. 그럼 2003 에서는 XMLHTTP 가 돌지 않는 이유는 뭘까?
인터넷을 뒤져보니 XsXml2.ServerXmlHttp.4.0 을 사용하려고 하는데 Windows 2003 R2 Sp2 에서 에러가 난다고 하더라..
답변을 보니, IE6 과 그 이상 브라우저들은 MSXML3 이 탑재되어 있어 MSXML2.ServerXMLHTTP.3.0 의 사용이 가능하다고 한다.
음 그럼 Set objXmlHttp = CreateObject("MSXML2.ServerXMLHTTP.3.0") 이라고 써주면 된다 이거쥥?
안되더라.. ㅡ,.ㅡ 췟..
결국엔 Set objXmlHttp = CreateObject("Microsoft.xmlHTTP") 이걸 지금 사용중이다.
이부분에 대해서 아시는 분 알려주세요 ㅠ.ㅠ 문제 없이 사용하고 있지만, 절대 뭔지 모르고 사용하고 있다눈.. ㅠ.ㅠ
'초짜 IT보이 서바이벌 스토리 > ASP' 카테고리의 다른 글
asp 페이지 자동 리로드 (0) | 2009.01.29 |
---|---|
DateDiff() 날짜 계산 (0) | 2009.01.20 |
ASP 성틍 및 스타일 향상에 도움이 되는 28가지 팁 (0) | 2008.10.16 |
Trim (0) | 2008.09.16 |
asp Request 관련 Server 변수 (0) | 2008.09.05 |