首页 > 代码库 > ?Delphi开发WebService给ASP.NET调用
?Delphi开发WebService给ASP.NET调用
Delphi开发WebService给ASP.NET调用
说明:
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步:如下图所示,在默认网站点击右键,然后新建 → 虚拟目录
第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运行,正确的显示页面如下
?Delphi开发WebService给ASP.NET调用