WebService可以有Get、Post、Soap、Document四種方式調用,以下是四種方式的參照說明。
name 屬性 說明 HttpGet 添加HTTP GET協議 在追加到HTTP請求URL的查詢字符串中傳遞的方法參數,格式為:?name1=value1&name2=value2...。
返回值被當做簡單的XML文檔放入HTTP響應的正文中(沒有<soap:Envelope>)。
HTTPPost 添加HTTP POST協議 在HTTP請求的正文中傳遞的方法參數,格式為:name1=value1&name2=value2...。返回值被當做簡單的XML文檔放入HTTP響應的正文中(沒有<soap:Envelope>)。
HTTPSoap 添加Http Soap協議 Soap消息在HTTP請求的正文中發送;Soap響應在HTTP響應的正文中發送。
Documentation添加特殊的Documentation協議 當在啟用了此協議的情況下直接請求.asmx頁時,Asp.Net運行Helper頁創建HTML文檔頁,
該文檔頁被傳遞到提出請求的客戶端
這里我們希望通過http://www.tmelearning.com/cards/cards.asmx/GetCard?code=4371c7b1-7d3f-4dcd-af2b-4583294cae4a方式來訪問Webservice。
自己定義的webservice中的方法代碼如下:【C# code】 1 [WebMethod] 2publicstring GetCard(string code) 3 { 4//這里業務處理代碼 5return""; 6 }
處理辦法如下: 在web站點的web.config的 <system web>... </system web>內增加如下元素標簽: 【XML code】
<webServices> <protocols> <add name="HttpPost"/> <add name="HttpGet"/> <add name="HttpSoap"/> <add name="Documentation"/> </protocols> </webServices>
原理剖析:
通過http請求訪問webservice有三種方式,在ie中輸入url並傳參的方式屬於http-get方式。通過增加web.config配置,實現允許get請求即可。
本方轉載處:http://hi.baidu.com/herozoudzh/item/110befa90a1326fc15329b9b