javascript調用webservice用法

來源:互聯網
上載者:User

MyService.asmx

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Services;

using System.Xml;

/// <summary>

///MyService 的摘要說明

/// </summary>

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

//若要允許使用 ASP.NET AJAX 從指令碼中調用此 Web 服務,請取消對下行的注釋。

[System.Web.Script.Services.ScriptService]

public class MyService : System.Web.Services.WebService {

    public MyService () {

        //如果使用設計的組件,請取消注釋以下行

        //InitializeComponent();

    }

    [WebMethod]

    public string HelloWorld()

    {

        return "Hello World";

    }

    [WebMethod]

    public XmlNode xml() {

        XmlDocument doc = new XmlDocument();

        doc.LoadXml("<hi>Hello World</hi>");

        return doc.FirstChild;

    }

    [WebMethod]

    public string add(int a, int b)

    {

        return (a + b)+"";

    }

}

aspx頁面

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

    <script language="javascript" type="text/javascript">

// <!CDATA[

        function Button1_onclick() {

            var data;

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

                +"<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">"

                +  "<soap12:Body>"

                +    "<HelloWorldResponse xmlns=\"http://tempuri.org/\">"

                +      "<HelloWorldResult>string</HelloWorldResult>"

                +    "</HelloWorldResponse>"

                +  "</soap12:Body>"

                +"</soap12:Envelope>";

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

            var URL = "MyService.asmx";

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

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

            xmlhttp.SetRequestHeader("SOAPAction", "http://tempuri.org/HelloWorld");

            xmlhttp.setRequestHeader("Content-Length", data.length);

            xmlhttp.Send(data);

            var xml = xmlhttp.responseText;

            var doc = new ActiveXObject("Microsoft.XMLDOM");

            doc.loadXML(xml);

            //alert(doc.selectSingleNode("//HelloWorldResult").text);

            //alert(doc.xml);

            alert(doc.selectSingleNode("//HelloWorldResponse").childNodes[0].nodeName);

        }

        function add() {

            var a = 10;

            var b = 15;

            var data;

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

                + "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">"

                + "<soap12:Body>"

                + "<add xmlns=\"http://tempuri.org/\">"

                + "<a>"+a+"</a>"

                + "<b>"+b+"</b>"

                + "</add>"

                + "</soap12:Body>"

                + "</soap12:Envelope>";

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

            var URL = "MyService.asmx";

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

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

            xmlhttp.SetRequestHeader("SOAPAction", "http://tempuri.org/add");

            xmlhttp.setRequestHeader("Content-Length", data.length);

            xmlhttp.Send(data);

            var xml = xmlhttp.responseText;alert(xml);

            var doc = new ActiveXObject("Microsoft.XMLDOM");

            doc.loadXML(xml);

        }

        function getxml() {

            var a = 10;

            var b = 15;

            var data;

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

                + "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">"

                + "<soap12:Body>"

                + "<add xmlns=\"http://tempuri.org/\">"

                + "</soap12:Body>"

                + "</soap12:Envelope>";

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

            var URL = "MyService.asmx";

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

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

            xmlhttp.SetRequestHeader("SOAPAction", "http://tempuri.org/xml");

            xmlhttp.setRequestHeader("Content-Length", data.length);

            xmlhttp.Send(data);

            var xml = xmlhttp.responseText; alert(xml);

            var doc = new ActiveXObject("Microsoft.XMLDOM");

            doc.loadXML(xml);

        }

// ]]>

    </script>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <input id="Button1" type="button" value="button" onclick="getxml()" />

    </div>

    </form>

</body>

</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.