• Ajax在调用含有SoapHeader的webservice方法


    ·         [WebService(Namespace = "http://tempuri.org/")]
    ·             [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    ·             public class WebService4JQuery : System.Web.Services.WebService
    ·             {
    ·                 
    ·                 public TestHeader THeader;
    ·          
    ·                 [WebMethod]
    ·                 [SoapHeader("THeader")]
    ·                 public string TestSoapHeader()
    ·                 {
    ·          
    ·                     return "THeader Value: " + THeader.HeaderData;
    ·                 }
    ·             }
    ·          
    ·             public class TestHeader : SoapHeader
    ·             {
    ·                 public string HeaderData { get; set; }
    ·             }


    #JQuery code in the webform page

    <script type="text/javascript">
     
            function CallWebMethodWithHeader() {
     
                var soapXML = 
                "<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/'>" +
                "  <soap:Header>" +
                    "<TestHeader xmlns='http://tempuri.org/'>" +
                        "<HeaderData>111111111111</HeaderData>" +
                    "</TestHeader>" +
                "</soap:Header>" +
                "<soap:Body>" +
                    "<TestSoapHeader xmlns='http://tempuri.org/' />" +
                "</soap:Body>" +
                "</soap:Envelope>";
            
                $.ajax({
                    url: "WebService4JQuery.asmx?op=TestSoapHeader",
                    type: "POST",
                    dataType: "xml",
                    contentType:"text/xml; charset=utf-8",
                    data: soapXML,
                    beforeSend: function (xhr) {
                        xhr.setRequestHeader('SOAPAction', 'http://tempuri.org/TestSoapHeader');
     
                    },
     
                    success: function (data) {
                        alert("webmethod call success");
                    },
                    error: function (err) {
                        alert("webmethod call failed");
                    }
     
                });
     
            }
        </script>
  • 相关阅读:
    基于C++ Qt实现的红色警戒3修改器
    Java多线程(十五):CountDownLatch,Semaphore,Exchanger,CyclicBarrier,Callable和Future
    Java多线程(十四):Timer
    Java多线程(十三):线程池
    Java多线程(十二):中断机制
    Java多线程(十一):线程组
    Java多线程(十):BlockingQueue实现生产者消费者模型
    德国语言+留学签证递交材料详解(上海)
    Java多线程(九):生产者消费者模型
    Java多线程(八):ReentrantReadWriteLock
  • 原文地址:https://www.cnblogs.com/stonespawn/p/3522978.html
Copyright © 2020-2023  润新知