Delphi 7编写的Webservice生成的DLL部署到IIS上


Delphi7编写的Webservice生成的DLL部署到IIS上,步骤如下:

1.打开DELPHI 7,选择File-New-Other,选择WebServices,选中SOAP Server Application,如图所示:

 

2.默认第一个选项:


3.填写名称:


4.生成两个文件WebserviceDemoIntf接口定义与WebserviceDemoImpl接口实现。

在WebserviceDemoIntf中编写自定义函数(注意一定要加上stdcall):

[delphi] view plain copy
  1. function getText():WideString;stdcall;  


5.在WebserviceDemoImpl中编写自定义函数实现部分:


6.保存,编译生成XX.dll

7.在控制面板中添加IIS(已添加请略过)


8.设置IIS:双击 ISAPI和CGI限制(确保所有的选项为允许)—右边选择编辑功能设置 ,勾选允许未指定的ISAPI和CGI模块,确定






9.选择应用程序池,右侧点击”设置应用程序池默认设置”,更改.NET Framework版本为V4.0,启用32位应用程序为True:


10.右击Default Web Site(默认网站)—添加虚拟目录,设置别名和物理路径:

112

10.选择虚拟目录,双击处理程序映射,选择右边编辑功能权限,勾选执行:




10.将编译好的xx.dll(这里为Project2.dll)放到文件夹C:\inetpub\wwwroot下

11.在浏览器中输入http://localhost/webserviceDemo/Project2.dll,显示界面如下:


接上篇,Delphi编写的WebService已经部署在IIS上,下面是在DELPHI中进行调用,

方式有两种:直接调用与使用HTTPRIO控件,步骤如下:

1.在原有的BPG包中新建一个应用程序,命名为WebServiceTS,单元窗体命名为WebServiceDY


2.直接调用,需引用Webservice实现单元文件webServiceDemoImpl,代码如下:

[delphi] view plain copy
  1. procedure TForm2.Button1Click(Sender: TObject);  
  2. var  
  3.  wsb:TWebserviceDemo;  
  4.  s:WideString;  
  5. begin  
  6.  wsb:=TWebserviceDemo.Create;  
  7.  s:= wsb.getText;  
  8.  ShowMessage(s);  
  9. end;  


效果如图:


3.使用HTTPRIO控件,需引用WebService定义单元文件webServiceDemoIntf,设置HTTPRIO控件的

WSDLLocation属性值为http://localhost/webserviceDemo/Project2.dll/wsdl/IwebServiceDemo,代码如下:

[delphi] view plain copy
  1. procedure TForm2.Button2Click(Sender: TObject);  
  2. var  
  3.  s:WideString;  
  4. begin  
  5.  s:= (HTTPRIO1 as IwebServiceDemo).getText;  
  6.  ShowMessage(s);  
  7. end;  

效果图如下:


联系电话:
020-00000000
联系电话:
020-00000000
联系电话:
020-12345678