把你的Web服务展现在世界面前
把你的Web服务展现在世界面前
在前一篇文章里,我们通过一个基本示例演示了用.NET创建XML Web服务的方便性。所做的工作无非是创建了一个简单的文本文件,然后把它放Web服务器上而已,轻敲少许代码,你就轻松拥有了一种具有完备功能意义的Web服务。但是,我们还需要采取什么措施才能发布这个简单的服务使得别人能够用到它呢?此外,其他人用什么法子才能找到我们的服务呢?
在这篇文章里,我们就将探讨一下这些问题。首先让我们了解下名称空间这一(namespaces)概念,有了它才能有效地避免同其他Web服务发生冲突。然后,我们接着讨论如何在目录里发布你的Web服务以便其人能够使用它。
名称空间
当我们在前面的文章中创建ConvertMoney Web服务并且用浏览器访问它的时候,.NET框架会自动地产生一个网页。这一网页的出现使得测试服务变得相当容易。但是,正如你从图A所看到的那样,网页中包含了大量信息。大多数开发者不会花时间去阅读这些网页展示的信息。然而,你应该理解这些内容在向你传达些什么信息,为什么说这些信息非常重要。
图A
.NET Web 服务生成的ConvertMoney网页
网页上的头两行说明以下内容:
该Web服务用http://tempuri.org/ 作为默认的名称空间。
在XML
Web服务公开发布之前建议修改默认的名称空间。
这到底是什么意思呢?原来,每一种Web服务都需要一个名称空间(namespace)。所谓名称空间就是标识Web服务的一种附加的方法。如果你和某人都创建了同名的ConvertMoney
Web服务,那么这两个Web服务将在不同的名称空间之内存在,这样不会发生混淆。
.NET Web服务的缺省名称空间是tempuri.org。其含义是“temporary uniform resource identifiers”,中文的意思是“临时性的统一资源标识符”,也可以简称temp URI。微软建议,在你公开发布自己的Web服务之前最好修改这一名称空间,哪怕“公共”这个词语只意味着在你的公司内部有效。通常的情况下,最好用你公司的域名作为命名空间。
设置名称空间很简单,在你的Web服务中添加少许代码即可。要加入的代码不过是出现在类之前的WebService关键词的一个属性。就我们的ConvertMoney Web服务而言,代码的前3行原本如下所示:
<%@ WebService Language="VB" Class="ConvertMoney"
%>
Imports System.Web.Services
<WebService()>Public Class
ConvertMoney
为了修改名称空间你只需要在WebService标签之前添加Namespace属性即可,如下所示:
<%@ WebService Language="VB" Class="ConvertMoney"
%>
Imports System.Web.Services
<WebService(Namespace:="http://volanttraining.com")> _
Public Class
ConvertMoney
由于增加了这个Namespace属性,现在你的ConvertMoney Web服务就同其他人的 ConvertMoney Web服务区分开了。如果你再运行Web服务,关于tempuri.org的提示信息就不再出现了(图B)。该服务的运行没什么变化,和以前一样,但它不再使用tempuri.org这个缺省的名称空间了,现在它正使用的名称空间是volanttraining.com。
图B
没有提示信息的ConvertMoney Web服务
UDDI:用于Web服务的黄页
为了发布你的Web服务以便其它人能使用它,你需要在一个可查找的目录中登记自己的服务。幸好,这样的一种目录已经出现了:这就是所谓的UDDI。UDDI是一种开放的、与供应商无关的标准,它就像是网络世界中的黄页。你可以通过UDDI找到现有的Web服务或者发布你自己的Web服务。其实,Web服务并没有拷贝到UDDI服务器上,UDDI的作用不过是列出现有的服务指引人们找到服务所在的服务器。从这一意义来看,它是一种真正的信息索引目录而不是存储具体信息的仓库。
你可以访问UDDI的网站了解有关UDDI的更多信息。这是公共的UDDI,任何人都能从中检索它,通过它列出Web服务信息。为了使用公共的UDDI目录,你必须注册一个帐号。当然,你还可以在自己的机构内引入UDDI;在你的企业内部安装UDDI服务器之后,你的开发人员就可以发布、发现和使用Web服务了。
当你访问UDDI网站的时候,你可以在目录中注册你的公司。因为UDDI是一个开放的计划,所以微软、HP以及IBM等公司都在使用它。参与该计划的每家公司都运行着自己的UDDI服务器,因此你必须选择自己想访问的公司。版本1就是目前的UDDI版本,版本2还处于测试阶段。如果你决定访问微软版本1 UDDI站点,那么你可以从这里检索现有的Web服务。
UDDI在检索特定服务或功能方面具有相当高的灵活性。你可以根据公司的名字、商业地点、SIC代码或其他标准检索服务。例如,如果你想检索术语“zip”,搜索条件设置为“按名称检索”,那么返回的Web服务的名字将包含“zip”字样。
除了检索服务以外,你还可以注册自己。一旦你在网站上注册了自己的公司,你就能为你注册的Web服务添加服务名、服务说明和Web地址。
小结
我们现在知道用.NET创建XML
Web服务以及添加名称空间来区别其他Web服务的过程相当简单。然后,你可以把自己的服务发布到使用UDDI的公共目录以便其它人能发现并且消费你的Web服务。你还可以用UDDI寻找其他的Web服务用在自己的应用程序里,此外,你甚至可以你的机构内部使用UDDI,通过它为你的企业开发注册Web服务。
- 1重庆OA客户
- 2重庆OA行业资讯
- 3西安OA行业资讯
- 4北京OA行业资讯
- 5合肥OA软件行业资讯
- 6郑州OA行业资讯
- 7济南OA行业资讯
- 8上海OA软件行业资讯
- 9石家庄OA行业资讯
- 10天津OA行业资讯
- 11沈阳OA行业资讯
- 12哈尔滨OA软件行业资讯
- 1数字化医院(e-Hospital)向临床应用进发
- 2[原创]不堪重负的IT服务工程师背包
- 3支付宝联手6家银行 网购可用信用卡支付
- 4选择SaaS产品与服务的五个步骤
- 5母子公司之间的知识管控模式探讨
- 6ITIL实施的难度
- 7OA市场的盘子也越来越大,OA软件的定向客户分类也越来越多
- 8ERP的选型到底应由谁来负责?
- 9“触网”的诱惑
- 10ITSM四大管理工具比较
- 11ITIL“令人恐惧”的10个原因
- 12地产行业管理软件的危险习惯
- 13浅谈中小企业的人力资源管理话题
- 14IT预算减肥进行时(二)
- 15[原创]ITIL之IT服务支持
- 16重庆OA必须增强自身的交流沟通能力、交流的心态和技巧
- 17[原创]ITIL系列专题(二)—认识服务管理中的概念
- 18基于知识管理的数字档案馆的数据挖掘
- 19相信有了IT助力,中国企业也将拥有更加强健的体魄!
- 20医疗保险信息化成败的三大关键因素
- 21[原创]体系到底是什么
- 22信息服务:三农信息化的核心
- 23“ETC时代”来临?还要经过几道坎
- 24对中国冶金企业信息化的思考
- 25推广落地成问题 ITIL V3遭遇水土不服?
- 26电子政务的发展离不开SOA架构的支持
- 27中小企业服务器需求 寒中寻春
- 28[原创]亡羊补牢,为时已晚
- 29IBM在微软与Sun公司之间保持中立
- 30财务软件:前度刘郎今又来
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼