- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(delphi调用wcf
窗体顶端PovozIm Sean Lu, thank you for your access my space.Starting WCF Client Programming in Delphi 7虽然Delphi 2007已经发布一年有余,但是在实际的工作中仍然是Delphi 7或更早的版本被大量使用。WCF作为构建面向服务应用程序的统一框架,成为多年来Microsoft .NET发展过程中最重要的技术之一。我是最近才开始关注WCF的,作为Microsoft分布式应用程序开发的集大成者,我首先想到的就是能否在以前的旧系统中使用WCF。经过几天的摸索,终于成功地使用Delphi 7访问WCF服务,下面就来说一下开发过程。1.更新Delphi SOAP Runtime and Importer。????这一点非常的注要,因为原本Delphi 7自带的WSDLImp.exe无法正确生成WCF服务代理。CodeGear官方已经给出了更新,而且可以免费下载。????下载地址:/Item/24535????下载后的更新安装过程,请参照文件包中的readme.html文件。2.为了测试,先在Visual Studio 2008中创建一个简单WCF服务。????A.新建WCF服务网站;????B.定义服务接口;这里我们简单的做一个加法运算,在IService.cs文件中加入下面代码:??????? //?任务:?在此处添加服务操作[OperationContract]int?Add(int?a,?int?b);????C.实现服务接口;在Service.cs文件中加入下面代码:#region?IService?成员public?int?Add(int?a,?int?b)?{????return?a?+?b;}#endregion????D.修改服务的Binding属性为basicHttpBinding;????可以直接修改Web.config文件,或通过Microsoft Service Configuration Editor进行编辑,打开Microsoft Service Configuration Editor(工具菜单-Microsoft Service Configuration Editor),然后打开我们的站点(Microsoft Service Configuration Editor的File菜单-WebHosted Service...-选择我们建立的WCF服务网站),在“Configuration”窗口中打开Endpoints(Services - Service - Endpoints),可以看到有两个Endpoint,其中一个的Binding属性为mexHttpBinding,保持不变,另外一个Endporint的Binding属性默认为wsHttpBinding,将其修改为basicHttpBinding,保存并退出。????至此一个简单的WCF服务网站已经建立完成,可以通过 http://localhost/WCFService/Service.svc 查看。3.生成WCF访问代理。????因为前面我们已经更新了Delphi SOAP Runtime and Importer,现在可以在C:\Program Files\Borland\Delphi7\Bin找以WSDLImp.exe,更新后的版本为2.2.10138。????在“命令提示符”中输入:WSDLImp http://localhost/WCFService/Service.svc?wsdl 就可以在当前目录下生成一个Service.pas文件。4.创建Delphi 7应用程序。创建一个Delphi 7应用程序,并引入上面我们创建的Service.pas文件。然后在主窗体中加入测试代码:procedure?TForm1.Button1Click(Sender:?TObject);var??a,?b,?c:Integer;begin??a?:=?StrToInt(Edit1.Text);??b?:=?StrToInt(Edit2.Text);??c?:=?GetIService.Add(a,?b);????Label1.Caption?:=?IntToStr(c);end;到这里,通过Delphi 7访问WCF服务已经实现了。但是要说的是这仅仅是第一步,在Delphi 7中是否可以充分利用WCF服务的功能还有待进一步摸索。4月5日更新:进一步摸索尝试之后,发现Delphi自身的SOAP Runtime对Web Service的新标准、特性支持并不好。第三方库对SOAP也有支持,但效果并不理想。Pure SOAP网络上有一些介绍,但没有找到下载。Indy
文档评论(0)