web service 学习

一、Web Service简介

1、Web Service基本概念

Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

 

2、XML Web Service的特点

1)、跨防火墙的通讯

2)、应用程序集成

3)、B2B的集成

4)、软件和数据重用

 

                  二、Web Service开发

1、首先在项目中创建一个后缀名为.asmx的Web服务

 

 

 

 

2、打开.cs文件,则可看见自动生成的原始代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace WebSerivce
{
    /// <summary>
    /// WebService_1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]
    public class WebService_1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
    }
}

 

 

3、运行web serivce 文件(需要把url地址先记下来)

 

4、重新创建一个项目,我们将访问上面的web服务

  web服务中添加方法

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Services;
 6 
 7 namespace WebSerivce
 8 {
 9     /// <summary>
10     /// WebService_1 的摘要说明
11     /// </summary>
12     [WebService(Namespace = "http://tempuri.org/")]
13     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
14     [System.ComponentModel.ToolboxItem(false)]
15     // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
16     // [System.Web.Script.Services.ScriptService]
17     public class WebService_1 : System.Web.Services.WebService
18     {
19 
20         [WebMethod]
21         public string HelloWorld()
22         {
23             return "Hello World";
24         }
25 
26         [WebMethod(Description = "求和的方法")]
27         public int Add(int num1,int num2)
28         {
29             return num1 + num2;
30         }
31     }
32 }

 

 

5、另外一个项目中添加服务引用。

 

6、接下来就可以在aspx页面中调用web服务

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 
 8 namespace FirstTest
 9 {
10     public partial class First : System.Web.UI.Page
11     {
12         protected void Page_Load(object sender, EventArgs e)
13         {
14 
15         }
16         /// <summary>
17         //计算
18         /// </summary>
19         /// <param name="sender"></param>
20         /// <param name="e"></param>
21         protected void Button1_Click(object sender, EventArgs e)
22         {
23             int num1 = Convert.ToInt32(this.txtnum1.Text);
24             int num2 = Convert.ToInt32(this.txtnum2.Text);
25 
26             FirstWebService.WebService_1SoapClient a = new FirstWebService.WebService_1SoapClient();
27             int result = a.Add(num1, num2);
28             this.txtresult.Text = result.ToString();
29         }
30     }
31 }

 

 

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="First.aspx.cs" Inherits="FirstTest.First" %>
 2 
 3 <!DOCTYPE html>
 4 
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 8     <title></title>
 9 </head>
10 <body>
11     <form id="form1" runat="server">
12     <div>
13     
14         <asp:TextBox ID="txtnum1" runat="server" Width="97px"></asp:TextBox>
15 &nbsp; +&nbsp;
16         <asp:TextBox ID="txtnum2" runat="server" Width="88px"></asp:TextBox>
17 &nbsp;<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="计算" />
18 &nbsp;
19         <asp:TextBox ID="txtresult" runat="server" Width="96px"></asp:TextBox>
20     
21     </div>
22     </form>
23 </body>
24 </html>

 

 

运行项目则可实现web service中的加法运算。

posted @ 2015-09-10 01:20  weijievvv  阅读(94)  评论(0编辑  收藏  举报