'Cross Domain'에 해당되는 글 1건

  1. 2010.04.20 [ASP] asp에서 XML WebService 호출
2010. 4. 20. 18:10
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 웹서비스 개발]
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class Service1 : System.Web.Services.WebService
    {
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod]
        public string SayHello(string name)
        {
            return "Hello " + name;
        }

        [WebMethod]
        public int Sum(int x, int y)
        {
            return x + y;
        }

        [WebMethod]
        public int Subtract(int x, int y)
        {
            return x - y;
        }
    }


2. [asp 개발]
<%
' 구현부
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
Posted by CoolDragon