一步一步开始Web Service
一步一步开始Web Service
一看题目知道这是有关Web Service的,不过我不想再写什么理论的东东,只想通过一个例子实践一下,但愿你也一样,那么这篇文章对你会有帮助。
整个例子包括了所有的Web Service 的过程,我计划这样做:
1. 建立一个ASP+ Web服务
2. 完成.asmx文件,然后再浏览器中测试。
3. 创建一个这个Web Service 的客户。
4. 客户得到这个Service
我的遇到的问题是在第4步,客户端始终没有得到Web Service的位置,尽管它们都在同一机器上但彼此不认识。然后我用VS。NET 没有任何问题,所有的过程ZIP包中几乎都有,而且我还想试一下Net程序的分发,VS这方面也很不错。
Zip包中的WebServiceAll.zip中有整个Project的文件和代码。
不过最好安装了VS.NET beta 2 ,最少你要安装Framework SDK beta 2 。
具体说:
1. 在VS.NET 中建立一个ASP WEB Service的项目,然后在产生的 .asmx 的类中实现你的功能也就是Service,我写了两个简单的函数一个是HelloWorld 函数返回一个“HelloWorld”的字符串。另一个是一个Add操作返回两个数的和。好了后把它设置成默认页,F5。如果没有错误IE应当自动启动了。和普通的语法没有差别,唯一是在函数前面加一个WebMethod的标记
VB:public Function Add( a as integer , b as integer ) as integer : Add= a+b ; end functi
C#:[WebMethod] public void int Add( int a, int b ) { return a+b ; }
VS。NET会帮你生成一个.asmx.vb 的文件放你的代码,如果是手工的话直接在.asmx中写就可以了。
2. 你可以看到一个很格式的页面显示出你刚刚的两个函数(或说Service)甚至你可以执行它,比如看看输出的“HelloWord”和做一个3+2得到5的结果,这样Web Service建立成功了。
3. 你需要建立一个Web Service的客户,让它得到你提供的这些服务获得”HelloWord”和相加的结果。所有你需要产生一个SDL文件,它和IDL相似,IDL编译会形成一个类型库,使VB的开发中可以前期绑定,然后VB,InterDev开发环境中可以显示智能化的帮助。
有三种方式可以产生:手工自己写,使用dotnet工具,由.asmx文件生成。自动的生成的可以用于观看和测试不能保存下来,如果要保存你需要使用一个Framework
SDK 的工具 disco.exe 它在C:Program FilesMicrosoft.NETFrameworkSDKBin
目录中你可以先在IE中这样试 :
http://localhost/WebService1/Service1.asmx?WSDL
,如果成功会有一个XML显示在IE中,这也是自动方式了。然后你在dos提示符下 disco http://localhost/WebService1/Service1.asmx?WSDL
意思是你想保留这个文件,执行成功后你可以看到这个 .wsdl的文件。
4. 然后有些象Java也象VB,容易理解了,那就是你要生成一个代理类,然后在客户端调用这个类中的方法,也就是Services。 这时你需要用Framework SDK中的另一个工具 wsdl.exe 用它生成一个.cs .vb 或 .js的文件,编译这个文件生成一个DLL,就是所谓的代理类了。然后就可以在dotnet的网页,GUI窗体,web窗体或控制台程序中调用HelloWorld 和Add 函数就完成全部了。具体的语句:
wsdl /out::myWebService1.cs http://localhost/WebService1/Service1.asmx
成功后你可以看到这个CS文件生成。
5. 然后编译这个类
csc /out:myWebService1.dll /t:library /r:System.XML.dll /r:System.Web.Services.dll myWebService1.cs
如果成功DLL也生成,现在就差写一个表现层也调用这个Service了。我手工方式就阻在这个表现层上,我想是我生成的.wsdl没有被用上,也就是找不到这个Services 。
4,5我是手工做的,不想再建一个Project去编译myWebService1.cs了。Dotnet有个好处,组件只用编译后自动注册,不用象Com那样还要 regsvr32 一下,而且目前Com组件和dotnet组件是完全不同的,也就是说在VB的Reference 和Oleview中你会失望的,看不到这个dotnet组件。
6. 然后就可以在你的应用中调用这个组件了,应用很简单,大体都是:
dim obj as new Service1
dim retStr as string
dim retIntVal as string
retStr = obj.HelloWorld()
retIntVal = obj.Add( 300 , 500 )
这样看来dotnet还是很有意思的,至少向你展现了一种不同的东西,我想用过Com或Com+的大侠们很容易想起这类似一种远程或Internet方式的Com,以前的com有致命的弱点,无法穿透防火墙,现在这种方式不仅灵活而且协议更加标准。底层的它封装和隐藏了SOAP和其它的网络协议,中间靠XML来传递数据和信息。你只用专心在Service功能上。
想想新浪的新闻服务如果有这样的Web Service接口,大家的网站上只有简单几句就可以有新闻显示了。同样股票站点可以为你提供股票信息,旅游航空公司提供旅游和航班信息。太多了,而且时时更新,我想以后会有一个Web Service的接口或门户网站,它也会象Yahoo一样成为众所周知的入口。
一些资源:
Framework SDK beta 2
http://download.microsoft.com/download/VisualStudioNET/Trial/2.0/W982KMeXP/EN-US/setup.exe
Microsoft ASP.NET Premium Edition 如果装VS.NET beta 2 前忘记装IIS,那么装完IIS再装它可以不用重新安装整个VS.NET beta 2
http://download.microsoft.com/download/VisualStudioNET/Trial/2/W982KMeXP/EN-US/setup.exe
SOAP Toolkit 2.0 SP2
http://download.microsoft.com/download/xml/soap/2.0/W98NT42KMe/EN-US/SoapToolkit20.exe
Programming .NET with C#
http://www.gotdotnet.com/featured_site/developmentor/assemblies2.pdf
XML Spy 4.0b2
http://www.xmlspy.com/download/beta/
Visual XSLT for VS.NET beta2
http://downloads.activestate.com/VisualXSLT/VisualXSLT-1.0.0-Beta3-1730.msi
MSDN Show : 介绍VS.NET Beta 2
http://a138.ms.a.microsoft.com/f/138/1611/2h/download.microsoft.com/download
/VisualStudioNET/Utility/15/WIN98MeXP/EN-US/Episode015.exe
不错的C#编辑器,也可开发并且支持 Framework SDK beta 2 , 新版本还有动态函数帮助
http://www.c-point.com/download/csharped.zip
SOAP Extensions with Visual Basic .NET
http://msdn.microsoft.com/msdn-files/026/002/305/VBSoapEx.exe
- 1重庆OA客户
- 2重庆OA行业资讯
- 3西安OA行业资讯
- 4北京OA行业资讯
- 5合肥OA软件行业资讯
- 6郑州OA行业资讯
- 7济南OA行业资讯
- 8上海OA软件行业资讯
- 9石家庄OA行业资讯
- 10天津OA行业资讯
- 11沈阳OA行业资讯
- 12哈尔滨OA软件行业资讯
- 1COM+ Web服务:通过复选框路由到XML Web Services
- 2网上银行:让我不用它几乎不可能
- 3知识分子的力量
- 4供应链管理中涉及的主要四大问题
- 5Web服务走向何方?
- 6[原创]ITIL系列专题(七)-启动管理改进的项目
- 7成功率低将制约中小企业信息化进程
- 8IT治理的利器其二:ITIL
- 9IT项目管理:成本风险中游走
- 10后金融危机时代 PLM让核电建设多快又省
- 11一页纸上的IT治理(二)(AMT研究院 黄庆扬)
- 12SOA治理策略之关键:注册/存储库
- 13经济萧条中脚踏实地逐步搭建电子商务平台
- 14ITIL V3的出现改变了什么
- 15IT让银行更有趣
- 16Java和.Net:网络服务谁主沉浮?
- 17为什么需要Web Service
- 18[原创]亡羊补牢,为时已晚
- 19IT治理的十条原则(上)
- 20“SOA将死说”:是预言还是反思?
- 21条形码全流程管理医院资产
- 22IT治理内外兼修
- 23专家称SOA已遭经济衰退扼杀建议放弃
- 24诀窍:永远不做软件选型的看门人
- 25使用低代码平台开发行业OA系统软件来做市场推广
- 26技术架构项目选型:企业资源的兼容性
- 27企业基础架构面临三大挑战三大机遇
- 28卖场哲学:如何制作卖场报价单
- 29信息化规划框架:外延、内涵及方法浅谈
- 30重庆OA必须增强自身的交流沟通能力、交流的心态和技巧
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼