asp에서 다른 도메인(Cross Domain)의 데이터를 주고 받기 위한 방법으로도 사용된다.
(다른 방법으로는 JSONP를 이용할 수 있다.)
1. C#. XMLWebService 프로젝트로 XML 웹서비스를 개발한다.
- 도메인 : ws.cooldragon.co.kr
2. asp에서 웹서비스를 호출하는 클라이언트 페이지를 개발한다.
- 도메인 : www.cooldragon.co.kr
3. 개발된 사이트를 IIS를 설정한다.
4. 브라우저에서 테스트 해본다.
※ ws.cooldragon.co.kr, www.cooldragon.co.kr 은 가상의 도메인이며
예외 처리는 개발자의 몫으로 돌린다. ^^;;
-------------------------------------------------------------------------
1. [XML 웹서비스 개발]
2. [asp 개발]
<%
' 구현부
Dim reqTy
Dim url
Dim param
' 구현부
Dim reqTy
Dim url
Dim param
url = "http://ws.cooldragon.co.kr/Service1.asmx/SayHello"
param = "name=cooldragon"
Response.Write "result=" & CallWebService(url, param) & "<br/>"
url = "http://ws.cooldragon.co.kr/Service1.asmx/Sum"
param = "x=1&y=2"
Response.Write "result=" & CallWebService(url, param) & "<br/>"
url = "http://ws.cooldragon.co.kr/Service1.asmx/Subtract"
param = "x=1&y=2"
Response.Write "result=" & CallWebService(url, param) & "<br/>"
url = "http://ws.cooldragon.co.kr/Service1.asmx/HelloWorld"
param = ""
Response.Write "result=" & CallWebService(url, param) & "<br/>"
...
'웹서비스 호출 함수
Function CallWebService(url, param)
Dim result
Dim xmlhttp
Set xmlhttp = Server.CreateObject("MSXML2.XMLHTTP")
xmlhttp.Open "POST", url, false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send param
result = xmlhttp.responseText
set xmlhttp = nothing
CallWebService = result
End Function
%>
3. IIS 설정
- www.cooldragon.co.kr
- ws.cooldragon.co.kr
4. 실행결과를 확인할 수 있다.
참고URL :
http://www.codeproject.com/KB/asp/Web_Service_Call_From_ASP.aspx