WebService介绍(一):创建WebService
发布时间:2020-12-17 02:49:38 所属栏目:安全 来源:网络整理
导读:? WebService 介绍 ( 一 ) :创建 WebService 在本专题中,我将利用一个实例来讲述 WenService 。 这个实例是这样的: 某通讯运营商 A 目前的缴费系统没有网上自助缴费的功能,而客户现在对自助缴费的需求很大,希望该通讯运营商能够提供在网上利用银行 B 的
?
WebService
介绍
(
一
)
:创建
WebService
在本专题中,我将利用一个实例来讲述
WenService
。
这个实例是这样的:
某通讯运营商
A
目前的缴费系统没有网上自助缴费的功能,而客户现在对自助缴费的需求很大,希望该通讯运营商能够提供在网上利用银行
B
的信用卡缴费的功能。
如何实现呢?
通讯运营商
A
的系统开发人员在和银行
B
业务人员沟通后,发现如果要从银行帐户(信用卡)中缴费,必须提供帐户
ID
,密码,以及缴费金额,这样才能合法的从帐户中扣款。当然,从银行帐户中扣款后,通讯运营商业必须在相应得帐户中加上相同的缴费金额。
银行
B
的数据库与通讯运营商
A
的数据库并不再一个域中,为了能够满足客户的需求,通讯运营商
A
和银行
B
经过讨论,决定利用
WebService
实现这一功能。由通讯运营商
A
的开发人员给银行
B
开发
WebService
并提供给通讯运营商
A
(当然,通讯运营商也许要收取一定的费用,除非该
WebService
只提供给自己使用)。
好了,在这个实例中,我假设银行
B
的帐户信息的数据在银行的
Bank
库的
Account
表中,这个表的结构如下:
在这里,我用的
SQL Server 2005
。
AccoutID
为帐户的
ID
号,
Password
为帐户的密码,
Money
为帐户中的金额。通讯运营商中的帐户信息的数据在
Mobile
库中的
PhoneInfo
表中,该表结构如下:
其中
PhoneNumber
字段存的是帐户号(手机号),
PhoneMoney
存的是帐户金额。
当然以上的这些只是简单的模拟,实际的商业应用会比这复杂得多。
下面创建
Web
服务。
在
VS 2005.net
中,新建一个
Web
服务站点,名称为
BankService
,并在该站点中添加一个
Account
的
Web
服务。
Account
服务代码如下:
using
System;
using
System.Web;
using
System.Collections;
using
System.Web.Services;
using
System.Web.Services.Protocols;
using
System.Data;
using
System.Data.SqlClient;
?
?
///
<summary>
///
Account
的摘要说明
///
</summary>
[WebService(Namespace = "http://Bank.WebService/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public
class Account : System.Web.Services.WebService {
?
??? public Account () {
?
??????? //
如果使用设计的组件,请取消注释以下行
??????? //InitializeComponent();
??? }
?
??? [WebMethod]
??? public bool Deduct(string AccountID,string Password,int deductMoney)
??? {
??????? SqlConnection SqlConn = new SqlConnection();
??????? SqlConn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["BankConnectionString"].ToString();
??????? SqlConn.Open();
??????? string commandText = "Select Money from Account where AccountID=" + AccountID + "and Password=" + Password;
??????? SqlCommand SqlComm = new SqlCommand(commandText,SqlConn);
??????? int deductMoney = int.Parse(SqlComm.ExecuteScalar().ToString());
??????? if (SqlComm.ExecuteNonQuery()!=0)
??????? {
??????????? Money = Money - deductMoney;
??????????? SqlComm.CommandText = "update Account set Money="+Money+" where AccountID="+AccountID;
??????????? SqlComm.ExecuteNonQuery();
??????????? SqlConn.Close();
??????????? return true;
?
??????? }
??????? else
??????? {
??????????? SqlConn.Close();
??????????? return false;
??????? }
??? }
???
}
这个代码是很容易看懂的,主要就是根据提供的帐户ID ,密码和缴费金额扣款,如扣款成功则返回true,不成功返回false。
现在,我们可以测试一下这个Web服务。在该表中,目前有一行数据。
在浏览器中运行该Web服务,效果如下:
点击Deduct方法,在AccountID中输入1101,在Password 中输入123456,在deductMoney中输入12,然后调用,在看看Account表中的数据,是不是Money减少了?
???
好了,到此为止,你已经知道WebService该怎么创建了。在后面的文章中,我还会继续就这个实例来讲述如何发现WebService以及怎样创建WebService代理类。请在这里下载源代码:
http://dl2.csdn.net/down4/20070802/02143919616.rar
?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |