軟件工程實(shí)踐者

          統(tǒng)計(jì)

          留言簿

          友情鏈結(jié)

          閱讀排行榜

          評(píng)論排行榜

          JavaScript調(diào)用Web service

          要調(diào)用的Web服務(wù)是求兩個(gè)整數(shù)和,并返回結(jié)果。

          服務(wù)的WSDL文件內(nèi)容如下:
          <?xml version="1.0" encoding="utf-8" ?> 
          <wsdl:definitions
              xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
              xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
              xmlns:s="http://www.w3.org/2001/XMLSchema" 
              xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
              xmlns:tns="http://tempuri.org/"  
              xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" 
              xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
              targetNamespace="http://tempuri.org/" 
              xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
            <wsdl:types>
               <s:schema elementFormDefault="qualified"  
                  targetNamespace="http://tempuri.org/">
                  <s:element name="AddTwoIntegers">
                      <s:complexType>
                         <s:sequence>  
                            <s:elementminOccurs="1" maxOccurs="1" name="IntegerOne" type="s:int" />    
                            <s:elementminOccurs="1" maxOccurs="1" name="IntegerTwo" type="s:int" />   
                         </s:sequence>
                      </s:complexType>
                  </s:element>
                  <s:element name="AddTwoIntegersResponse">
                      <s:complexType>
                          <s:sequence> 
                             <s:elementminOccurs="1" maxOccurs="1" name="AddTwoIntegersResult" type="s:int" />    
                          </s:sequence>
                      </s:complexType>
                  </s:element>
               </s:schema>
            </wsdl:types>
            <wsdl:message name="AddTwoIntegersSoapIn"> 
                <wsdl:part name="parameters" element="tns:AddTwoIntegers" />
            </wsdl:message>
            <wsdl:message name="AddTwoIntegersSoapOut">  
                <wsdl:part name="parameters" element="tns:AddTwoIntegersResponse" />   
             </wsdl:message>
             <wsdl:portType name="SimpleServiceSoap">
                 <wsdl:operation name="AddTwoIntegers">
                    <wsdl:input message="tns:AddTwoIntegersSoapIn" />
                    <wsdl:output message="tns:AddTwoIntegersSoapOut" />    
                 </wsdl:operation> 
             </wsdl:portType>
          
             <wsdl:binding name="SimpleServiceSoap" type="tns:SimpleServiceSoap"> 
                 <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> 
                 <wsdl:operation name="AddTwoIntegers">   
                     <soap:operation soapAction="http://tempuri.org/AddTwoIntegers" style="document" /> 
                     <wsdl:input>  
                         <soap:body use="literal" />    
                     </wsdl:input>
                     <wsdl:output>  
                         <soap:body use="literal" />    
                     </wsdl:output>
                 </wsdl:operation>
            </wsdl:binding>
            <wsdl:service name="SimpleService"> 
                <documentation xmlns="http://schemas.xmlsoap.org/wsdl/" /> 
                <wsdl:port name="SimpleServiceSoap" binding="tns:SimpleServiceSoap">  
                    <soap:address location="http://localhost/Develop.NET/Home.Develop.WebServices/SimpleService.asmx"/>  
                </wsdl:port>  
            </wsdl:service> 
          </wsdl:definitions>
          


          javaScript代碼中利用了MS的HTTP代理對(duì)象XMLHTTP,在Mozilla's Web brower中相應(yīng)的組件是XMLHttpRequest,他們都提供了類似的方法來完成soap請(qǐng)求。下面的代碼用的是IE中的XMLHTTP對(duì)象。代碼假定調(diào)用過程中沒有Fault。
          function fncAddTwoIntegers(a, b)
          {    
              var oXmlHttp = new ActiveXObject("MSXML2.XMLHTTP");      
              oXmlHttp.open("POST", "http://localhost/Develop.NET/Home.Develop.WebServices/SimpleService.asmx'", false);
              oXmlHttp.setRequestHeader("Content-Type", "text/xml");    
              oXmlHttp.setRequestHeader("SOAPAction", "http://tempuri.org/AddTwoIntegers");
          
              oXmlHttp.send("      
          <soap:Envelopexmlns: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:Body> <AddTwoIntegersxmlns='http://tempuri.org/'> <IntegerOne>" + a + "</IntegerOne> <IntegerTwo>" + b + "</IntegerTwo> </AddTwoIntegers>
          </soap:Body> </soap:Envelope>"); return oXmlHttp.responseXML.selectSingleNode("http://AddTwoIntegersResult").text; }


          原文英文出自:http://builder.com.com/5100-6371_14-5887775.html?tag=nl.e601

          posted on 2006-01-05 20:01 軟件工程實(shí)踐者 閱讀(1218) 評(píng)論(3)  編輯  收藏 所屬分類: Web service

          評(píng)論

          # re: JavaScript調(diào)用Web service 2010-12-06 17:53 你爹

          傻逼  回復(fù)  更多評(píng)論   

          # re: JavaScript調(diào)用Web service 2010-12-06 17:54 你爹

          傻逼,不好使  回復(fù)  更多評(píng)論   

          # re: JavaScript調(diào)用Web service 2010-12-06 17:54 你爹

          傻逼  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 教育| 元氏县| 龙陵县| 安乡县| 安徽省| 彰化市| 嫩江县| 肥乡县| 涟水县| 北宁市| 长春市| 拉孜县| 鹤壁市| 海林市| 务川| 冷水江市| 浦江县| 津南区| 从江县| 紫云| 东辽县| 上林县| 葵青区| 澄江县| 甘德县| 新宾| 泊头市| 涿州市| 高碑店市| 辽阳县| 新安县| 栖霞市| 安宁市| 昭平县| 上思县| 遂昌县| 大同市| 扶绥县| 封丘县| 廊坊市| 醴陵市|