1

嗨,我是 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>
4

1 回答 1

1

您可能想看看Microsoft SOAP Toolkit 3.0。尽管 Microsoft 网站上有说明您不应该使用它,但它工作得非常好。他们只是显示注释以强调它是旧开发堆栈的一部分,他们不会进一步开发以支持 .NET。您应该能够在线找到大量使用 SOAP Toolkit 的代码示例。

否则,如果您不想使用它,那么另一种选择是编写您自己的 Web 服务客户端(包装器),它通过您可以在经典 ASP 代码中使用的 COM 接口公开使用的数据。过去,我不得不为坚持不使用 SOAP 工具包的客户这样做,仅仅是因为 Microsoft 网站上有文字说它“不再受支持”。

虽然这两种方法都可以很好地工作,但如果您的 Web 服务使用 SOAP 工具包无法正确解析的任何复杂类型,您可能需要求助于第二种方法。如果您的服务使用所有基本类型,那么在您的经典 ASP 代码中支持它是一种快速简便的方法。

于 2013-10-30T16:29:55.493 回答