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步:如下图所示,在默认网站点击右键,然后新建 -> 虚拟目次

注意  需要将“Web服务扩展”中的“所有未知ISAPI扩展”设置为“允许”。


 Delphi开发WebService给ASP.NET调用_第1张图片


 


第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)