从ASP调用XML Web服务






3.78/5 (9投票s)
2007年5月10日
1分钟阅读

138412

3664
如何通过ASP调用XML Web服务。
引言
本文档将帮助您理解如何通过 ASP Web 应用程序调用 XML Web 服务并从服务中检索值。
背景
设计 Web 服务并在 ASP.NET 中调用/使用它非常容易,因为 Microsoft .NET 技术为此提供了固有的/内置的支持。 但是,通过经典的 ASP Web 应用程序执行相同的操作则有些棘手...........
使用代码
本文包含两个主要部分
1. .Net Web 服务
2. ASP Web 应用程序调用 XML Web 服务。
这是我们的 .Net Web 服务代码
using System.Diagnostics; using System.Web; using System.Web.Services; namespace Test_ASP_Service1 { /// <summary> /// Summary description for Service1. /// </summary> public class Service1 : System.Web.Services.WebService { public Service1() { //CODEGEN: This call is required by the ASP.NET Web Services Designer InitializeComponent(); } #region Component Designer generated code //Required by the Web Services Designer private IContainer components = null; private void InitializeComponent() { } protected override void Dispose( bool disposing ) { if(disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } #endregion [WebMethod] public string Sum(int val1,int val2) { return "The Sum of two number= "+(val1+val2); } [WebMethod] public string Subtract(int val1,int val2) { return "The Subtraction of two number= "+ ( (val1>val2) ? (val1-val2):(val2-val1)); } } } // //
Web 服务包含两个 Web 方法 Sum() 和 Subtract(),执行相应的操作。
接下来是调用 Web 服务的 ASP Web 应用程序代码。
<html>
<head>
<title>从经典 ASP 调用 webservice</title>
</head>
<body>
<%
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 = "https:///Test_ASP_Service1/Service1.asmx/Sum"
else
postUrl = "https:///Test_ASP_Service1/Service1.asmx/Subtract"
end if
Set xmlhttp = server.Createobject("MSXML2.XMLHTTP")
xmlhttp.Open "POST",postUrl,false
xmlhttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
xmlhttp.send DataToSend
Response.Write DataToSend & "<br>"
Response.Write(xmlhttp.responseText)
Else
Response.Write "首次加载"
End If
%>
<FORM method=POST name="form1" ID="Form1">
输入两个值以执行操作<BR>
<select name="Operation">选择操作<option value="Sum">求和</option><option value="Subtraction">减法</option></select>
<INPUT type="text" name="text1" ID="Text1">
<INPUT type="text" name="text2" ID="Text2">
<BR><BR>
<INPUT type="submit" value="GO" name="submit1" ID="Submit1">
</form>
</body>
</html>
关注点
从 XML Web 服务返回的结果是字符串形式。 因此,如果您需要像数据集值或表这样的大量结果,则必须根据需要标记化结果。