zoukankan      html  css  js  c++  java
  • 几种调用WebService的方法

    几种调用WebService的方法

    几种调用WebService的方法     选择自 Megres 的 Blog  

    1.  在JavaScript中调用WebService

    <script language="javascript">

    function PostRequestData(URL,data){

           var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

           xmlhttp.Open("POST",URL, false);

           xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8");

           xmlhttp.SetRequestHeader ("SOAPAction","http://tempuri.org/myService/test/isNumner");

           

           try { 

                  xmlhttp.Send(data); 

                  var result = xmlhttp.status;

           }

           catch(ex) {

                  return("0" + ex.description + "|" + ex.number); 

           }

           if(result==200) { 

                  return("1" + xmlhttp.responseText); 

           }

           xmlhttp = null;

    }

     

    function loadit(value){

           var url = 'http://localhost/myService/test.asmx';

           var data ;

           var r;

           

           data = '<?xml version="1.0" encoding="utf-8"?>';

           data = data + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';

        data = data + '<soap:Body>';

        data = data + '<isNumner xmlns="http://tempuri.org/myService/test">';

        data = data + '<str>'+value+'</str>';

        data = data + '</isNumner>';

        data = data + '</soap:Body>';

        data = data + '</soap:Envelope>';

           

           r=PostRequestData(url,data);

           document.write(r);                

    }

    loadit('5');

    </script>


     还可以使用微软的htc组件来实现,可以到这里下载: 

    http://msdn.microsoft.com/workshop/author/webservice/webservice.htc


    <script language="javascript">

        function timer(){

            service.useService("http://localhost/myService/test.asmx?WSDL","test");

            service.test.callService(callback,"isNumner",'gdh');

         }

        

        function callback(res){

            if (!res.error)

                time.innerText=res.value;                

        }

     </script>

     

    <div id="service" style="behavior:url(webservice.htc)"></div>

    <span id="time"></span>

     

    2. 在Asp中

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

    <%

                 Dim strxml 

            Dim str       

           

            '定义soap消息

            strxml = "<?xml version='1.0' encoding='tf-8'?>"

            strxml = strxml & "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>"

            strxml = strxml & "<soap:Body> "

                  strxml = strxml & "<isNumner xmlns='http://tempuri.org/myService/test'>"

            strxml = strxml & "<str>4</str>" 

            strxml = strxml & "</isNumner>"

                  strxml = strxml & "</soap:Body>" 

            strxml = strxml & "</soap:Envelope>"

                  

            '定义一个XML的文档对象,将手写的或者接受的XML内容转换成XML对象

            'set x = createobject("Microsoft.DOMDocument")

            '初始化XML对象

            '将手写的SOAP字符串转换为XML对象

            ' x.loadXML strxml

            '初始化http对象

            Set h = createobject( "Microsoft.XMLHTTP")

            '向指定的URL发送Post消息

            h.open "POST", "http://localhost/myService/test.asmx", False

            h.setRequestHeader "Content-Type", "text/xml"

                  h.setRequestHeader "SOAPAction", "http://tempuri.org/myService/test/isNumner"

            h.send (strxml)

            While h.readyState <> 4

            Wend

            '显示返回的XML信息

            str = h.responseText

            '将返回的XML信息解析并且显示返回值

            'Set x = createobject("MSXML2.DOMDocument")

            ' x.loadXML str

            

            'str = x.childNodes(1).Text

             

             response.write(str)

     

    %>

     3.在.net中

    在.net中调用WebService就方便多了,没有必要自己写soap消息了,以上都是用XMLHTTP来发送WebService请求的,在.net只要添加了web引用,会自动为你创建一个代理类。然后使用代理类就像用自己定义的类一样方便。
    作者Blog:http://blog.csdn.net/Megres/
  • 相关阅读:
    vue-awesome-swiper 子项目内容高度适配问题
    ajax的原理及应用
    display:none opacity:0以及visibility:hidden的区别
    javascript 创建型设计模式
    圣杯布局和双飞翼布局
    javascript->对象继承
    js 宏任务和微任务
    android->按钮底部定位上移
    ios移动端开发的坑
    jvm系列 (五) ---类加载机制
  • 原文地址:https://www.cnblogs.com/oop/p/160925.html
Copyright © 2011-2022 走看看