Web服务在软件开发中的应用

来源 :宁波职业技术学院学报 | 被引量 : 0次 | 上传用户:playlogic
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: Web服务是在网上发布的一种服务。在进行应用程序开发时,可以直接来调用该服务,而简化开发流程。本文对Web服务所采用的主要技术进行了阐述,并且通过一个软件开发中的实际应用让大家来掌握如何对网上存在的Web服务进行调用和调试。
  关键词: Web服务; Web引用; 第三方Web服务
  中图分类号: TP 319 文献标志码: A 文章编号: 1671-2153(2015)04-0072-03
  0 引 言
  Web 服务是通过Web 进行发布、定位和调用的松散耦合组件。由于Web 服务具有完好的封装性、松散耦合、高度集成能力等特点,Web 服务成为越来越多企业实现大规模软件开发和服务共享的解决方案[1]。在各大网站中经常可以看到查询天气预报、查询火车班次、查询IP地址所在地、查询手机号码归属地等功能。这里的部分功能可以自己编写代码来实现,而有一些是需要相关部门来提供接口,如天气预报。其实,在网上已经提供了实现这些功能模块的Web服务,我们只需直接调用这些Web服务的接口就可以了。本文将通过一个实例来介绍如何调用这些Web服务。
  1 软件结构设计
  这里利用asp.net开发完成了一个电子商务的购物网站,在该网站中有用户登录购物的这样一个模块,如图1所示。
  如果用户直接输入用户名和密码进行登录,那么这样的登录模块非常容易被黑客攻击。为了防止用户利用软件进行恶意登录,可以提供让用户输入验证码。验证码可以自己编写,不过自己编写代码来实现验证码的功能不是那么容易的,其实可以在网上找到第三方提供的验证码Web服务。本文介绍了如何使用第三方提供的Web服务来实现登录模块中的验证码功能。在本项目中要调用第三方的Web服务来实现验证码功能的软件执行过程如图2所示。
  2 软件功能实现
  (1) 为项目添加Web引用
  在asp.net开发的电子商务网站开发项目中添加Web引用,可以寻找一个第三方的Web服务,在此使用http://webservice.webxml.com.cn/WebServ
  ices/ValidateCodeWeb Service.asmx,修改Web的引用名为IdentifyCodeWS,添加成功后的Web引用文件内容如下:
  <?xml version="1.0" encoding="utf-8"?>
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
    referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference"
  url="http://webservice.webxml.com.cn/webservices/validatecodewebservice.asmx?disco"
  filename="validatecodewebservice.disco" />
    filename="validatecodewebservice.wsdl" />
  

  

  在以上代码中可以看出Web引用文件采用的是XML格式的文件,XML渗透到了Web服务的各个层次。也就是说如果没有XML就没有Web服务。在引用文件内容中包含了WSDL文件,该文件是用来对Web服务的位置、接口和协议做详细说明的文档。WSDL是一种XML应用,它将Web 服务描述定义为一组服务访问点,请求者可以通过这些服务访问点对服务进行访问[3]。这里所引用的Web服务的地址,最后是以.asmx结尾的。在浏览器中输入http://webservice.webxml.com.cn/webservic
  es/validatecode webservice.asmx可以发现在该页中提供了6种验证码服务。在访问Web服务时采用的协议是SOAP协议,该协议是是以XML为基础的消息传输协议,可以采用XML安全协议来保证Web 服务的安全性[2]。
  (2) 在项目中添加IdentifyCode.aspx页面用于生成验证码,在所对应的.cs页面中添加如下的代码
  IdentifyCodeWS.ValidateCodeWebService vcws = new IdentifyCodeWS.ValidateCodeWebService();
  protected void Page_Load(object sender, EventArgs e)
  {
  if(Request.Params["validateDate"]!=null)
  { int i=Int32.Parse(Request.Params["validateDate"].ToString());   Response.ContentType="image/png";
  byte[] b=vcws.enValidateByte(i.ToString());
  Response.BinaryWrite(b);
  }
  }
  在IdentifyCode.aspx页面中实例化Web服务对象,在此处的Request.Params["validateDate"]代表在登录页面login.aspx中随机生成的对象作为参数传递给IdentifyCode.aspx页面,并且在该页面中返回一个二进制字符串,将它写入HTTP输出流。
  (3) 在登录页面中,添加如下的代码,实现登录功能和验证码的生成
  protected void Page_Load(object sender, EventArgs e)
  {
  if (!IsPostBack)
  {
  Random rd = new Random();
  string str = rd.Next(1000,9999).ToString();
  Image1.ImageUrl = "IdentifyCode.aspx?validateDate=" + str;
  Session["validateDate"] = str;
  }
  }
  在登录页面中,实例化随机对象,并且生成一个1000-9999之间的随机数,将随机数传递给IdentifyCode.aspx页面, 将Web服务中返回的随机图片验证码显示在登录页面的图片中。
  (4) 验证码的测试和运行
  运行登录页面,在流览器中打开该页面,可以看到有验证码的登录页面,如图3所示,该验证码的实现就是调用了网上所存在的Web服务,这样可以大大简化我们的开发工作。利用这种调用方式可以非常方便的来实现复杂的功能模块,而不需要知道该功能具体是如何用代码编写的,只要知道Web服务所提供的接口就可以了。
  3 结束语
  本文介绍了Web服务的架构,并且通过登录时验证码的实现介绍了如何调用Internet上发布的Web服务,在Internet上发布了各种功能的Web服务,在进行软件开发时,可以调用这些Web服务来简化软件的开发过程。
  参考文献:
  [1] 佘青. 一种语义Web服务描述语言WSDL-S[J]. 网络安全技术与应用,2009(4):85-86.
  [2] 刘振鹏,周冬冬. 一个基于SOAP消息的Web服务综合安全模型[J]. 武汉大学学报,2006,52(5):570-573.
  [3] 林川. 基于UDDI和WSDL的Web 服务发布方案[J].计算机工程与设计,2005(4):993-995.
  (责任编辑:徐兴华)
其他文献
针对当前网络舆情监测引导方面出现的一系列问题,本文设计实现了网络舆情监测系统,通过系统设计和应用,为地方政府及时高效的进行网络舆情监测分析、进一步做好网络形象构建
随着环境问题的日益凸显,麻纤维微生物脱胶技术凭借其污染小、能耗低而逐渐被人们重视,并不断应用于生产实践。菌种是生物脱胶过程中的关键因素,随着对其认识与研究不断深入,
摘 要: 高职院校课程体系建设主要以培养大学生的应用能力为主,对课程的改革和创新都是以提高学生“受雇能力”为核心目标。对高职院校课程体系建设的策略进行研究对于高职人才培养改革转型以及高职院校的未来发展具有重要的理论和现实意义。在结合我国高职课程建设的现实国情基础上,深入分析并借鉴了英国诺丁汉大学在课程体系建设方面的成功做法,以期促进我国高职院校的课程体系从一维知识教育向知识、技能、价值观的三维教育
随着我国税务法律的不断完善,在企业和个人的经济活动中税法的影响也越来越大,根据对会计岗位就业需求调查及相关反馈的毕业信息得知,税务师事务所助理人员和税务代理是中小企业
为优化坝上地区水浇地种植业结构,在节水灌溉栽培条件下,采取四因素正交旋转组合设计,研究了施用氮、磷、钾肥对油用亚麻产量作用效果。油用亚麻从出苗后的整个生长期降水量仅14
研究了抗生素对亚麻下胚轴愈伤诱导及芽分化的影响。结果表明:在以潮霉素为抗性选择剂时,低浓度潮霉素已严重抑制愈伤的形成,25mg/L的潮霉素为亚麻下胚轴愈伤形成及芽分化的较合
为了提高数据集中相似重复记录的检测效率,提出一种基于属性权值的分组聚类算法。该方法在记录集中选取特征属性,通过设定的权值对记录进行聚类,在形成的数据子集中进行字段
为探索干旱半干旱区旧膜再利用后油用亚麻的适宜种植密度和获得高产,在甘肃省定西旱区旧膜再利用生产条件下,研究了7种密度(300万-1200万粒&#183;hm-2,D1-D7)对胡麻田土壤水分