在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
首先我觉得有必要把.net平台下开发webservice进行一个比较全面的阐述,web service的最初产生是在电子商务的环境下出现的,有些问题通过传统的手段已经不容易解决,比如在应用程序之间进行商务通信、数据交换,使用DCom、CORBA等二进制机制的东西已经行不通了,姑且不说他们受各自平台的限制,比如DCom(Distribute Common Objects Model)只能在Windows平台下进行,而CORBA(Common Objects Request Broker Architecture)也有诸多限制。他们要实现应用程序之间的数据通信是比较困难的。 在这种背景下,Web Services 应运而生,它很好的解决了跨语言、跨平台以及良好而安全的穿透企业防火墙。它的体系结构大体上分为五个层次: HTTP(HyperText Transfer Protocol)信道下进行数据通信 HTTP进行数据通信存在速度较慢的情况,尤其是第一次联结。 Web Service 服务在Delphi下调用时的问题 闲话少说,我们用一个检验WebMethod的Attribute的一个简单的例子进行阐述:它是完成一次从客户A转帐到B的一个简单商务过程。 首先我们在.NET FrameWork1.1下创建一个WebService,这时候.net会帮我们自动创建一个Web应用 我们需要创建一个类AttributeTest,它是在命名空间NameSpace AttributeTesting下的,那么这个类它将自动继承了它的基类 System.Web.Services.WebService,需要支出的时,我们可以对这个Web应用类设置其WebServiceAttribute,其中基本属性包括Description 和NameSpace 其中我们需要特别注意的是,WebMethodAttribute,这也是我们这一次需要讲述的重点内容,只要给一个方法加上[WebMethodAttribute],哪怕里面没有任何属性,那么WebService就会把这个方法暴露(Expose)给了客户段调用者.下面我们讲述一下它的6个属性,其中包括2个描述性的信息属性,4个功能属性 描述性的信息属性: Description BufferResponse 下面我把Delphi调用webservice的步骤列举一下: 首先如果你只是开发调用客户端,那么你只需要创建一个普通的应用程序即可,然后需要你做的是,在工具栏WebServices下面找到SOAPHTTPClient这个控件,然后把它放在你的客户端应用窗体上; 其次就是你需要设置这个SOAPHTTPClient的属性URL或者WSDL,这个内容就是你的WebService的服务地址 比如我们当前例子的服务地址是:http://localhost/AttributeTesting/AttributeTesting.asmx 如果你想输入WSDL那么就是http://localhost/AttributeTesting/AttributeTesting.asmx?wsdl 这样就完成了控件设置; 然后我们需要引入服务器端的WSDL,你可以手工来做,也可以用Delphi提供的WebServices Importer功能来引入。 最后你只需要对引入的WSDL的接口进行调用即可。在这里我们的对应代码是:
这里我想再阐述一下WebMethod的Attribute 功能型属性: 1 BufferResponse 所以如果WebServices方法返回来的是比较大的一个数据,比如返回来一个Dataset,那么用BufferResponse=true可以提高数据的传输效能。 2 CacheDuration 3 EnableSession=true, 4 TransactionOption http://www.microsoft.com/China/Community/program/originalarticles/TechDoc/createWebServicebyVSNET.mspx |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论