申明:
1、本文档分3个项目组,分别为:
用Delphi编写WebService
在IIS下安排WebService
在ASP.NET中调用webservice
2、开辟景象为Windows XP SP2、Delphi 7.0、IIS 5.1、VS 2008(C#)
一、用Delphi编写WebService
第1步:File -> New -> Other -> WebServices -> SOAP Server Application
第2步:选择ISAPI/NSAPI Dynami Link Library
第3步:选择Yes
第4步:输入接口的名称,这里用Main,其他选项不消改,点OK
第5步:打开项目经管器,再打开MainIntf.pas文件,MainIntf.pas是接口定义单位
第6步:在MainIntf.pas中定义一个Sum函数,此函数的功能是策画2个整数的和并显示,如红色框中所示
第7步:打开MainImpl.pas文件,MainImpl.pas是接话柄现单位。在此单位中实现Sum函数
第8步:打开项目经管器,编译Project1.dll
二、在IIS下安排WebService
第1步:用inetmgr号令打开IIS经管器
第2步:如下图所示,在默认网站点击右键,然后新建 -> 虚拟目次
注意 需要将“Web服务扩展”中的“所有未知ISAPI扩展”设置为“允许”。
第3步:点下一步
第4步:虚拟目次别号,这里输入webservice,点下一步
第5步:输出目次,"建议应用C:\Inetpub\wwwroot","C:\Inetpub\wwwroot"这个目次在第8步中会用到。点下一步
第6步:接见权限,勾选“执行(如ISAPI引用法度活CGI)”,这项很首要,必然要勾选,然后点下一步
第7步:点击完成,在IIS经管器就可以看到webservice的虚拟目次了
第8步:把Project1.dll拷贝到C:\Inetpub\wwwroot目次中,若是提示Project1.dll被占用,可以在任务经管器中强行停止dllhost过程后再拷贝,如下图所示
第9步:在浏览器中输入http://localhost/webservice/Project1.dll这个网址,若是显示以下页面,申明webservice可用。
若是点击页面中IMain旁边的[WSDL],则浏览器会跳转到
http://localhost/webservice/Project1.dll/wsdl/IMain,
这个网址接下来我们会用到
三、在ASP.NET中调用webservice
第1步:开启VS2008,文件 -> 新建 -> 网站
第2步:选择ASP.NET网站,说话是C#,点断定
第3步:解决规划资料经管器,点右键,选择添加Web引用
第4步:在URL中输入
http://localhost/webservice/Project1.dll/wsdl/IMain然后点前去;
第5步:web引用名,可以用默认值,点;添加引用;
第6步:双击;Default.aspx;,再双击“Default.aspx.cs”
第7步:在左边的“Default.aspx.cs”的代码窗口添加以下代码,如红色框中所示
第8步:按Ctrl+F5运行,正确的显示页面如下