簡體   English   中英

如何在經典ASP中調用.net Web服務?

[英]how to call .net webservice in classic asp?

嗨,我是web服務的新手,我想通過Classic ASP調用服務

<%
   If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
   Dim xmlhttp
   Dim DataToSend
   DataToSend="val1="&Request.Form("text1")&"&val2="&Request.Form("text2")
   Dim postUrl
   If Request.Form.Item("Operation")="Sum" Then
    postUrl = "//localhost/Test_ASP_Service1/Service1.asmx/Sum"
  end if    
  Set xmlhttp = server.Createobject("Msxml2.ServerXMLHTTP.4.0")
  xmlhttp.Open "POST",postUrl,true
  xmlhttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
  xmlhttp.send DataToSend
  Response.Write DataToSend  & "<br>"
  Response.Write(xmlhttp.responseText)
Else
  Response.Write "Loading for first Time"  
  End If
 %>
<FORM method=POST name="form1" ID="Form1">
 Enter the two Values to perform Operation<BR>
  <select name="Operation">Select Operation<option value="Sum">Sum</option></select> 
  <INPUT type="text" name="text1" ID="Text1">
  <INPUT type="text" name="text2" ID="Text2">
 <INPUT type="submit" value="GO" name="submit1" ID="Submit1">
</form>

您可能想看一下Microsoft SOAP Toolkit 3.0 盡管在Microsoft網站上有注釋,您不應使用此功能,但它工作得很好。 他們只是顯示注釋以強調它是舊版開發堆棧的一部分,因此他們不再進一步開發.NET。 您應該能夠找到大量在線使用SOAP Toolkit的代碼示例。

否則,如果您不想使用它,那么另一個選擇是編寫自己的Web服務客戶端(包裝器),該客戶端通過COM接口公開使用的數據,您可以在經典ASP代碼中使用該COM接口。 過去,我曾經為一個堅持不使用SOAP Toolkit的客戶這樣做,這僅僅是因為Microsoft網站上有文字說“不再受支持”。

盡管這兩種方法都能很好地工作,但是如果您的Web服務使用SOAP Toolkit無法正確解析的任何復雜類型,則可能需要使用第二種方法。 如果您的服務使用所有基本類型,那么這是在傳統的ASP代碼中支持該類型的快速簡便的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM