最近在服务器和本地调用delphi写的导出Excel 的webservices,出现一系列配置和权限问题,现在一一记录下来。
在windows7系统自带的IIS7.0中及windows 2008 r2系统中的IIS 7.5中分别配置Delphi编写的WebServices(ISAPI),首先我们拿到Delphi编写好的WebServices 的dll 然后在IIS开始创建。
1)。首先我们在任意盘下面创建一个目录存放Delphi编写好的WebServices 的dll,我这里在D盘创建一个ExportServices的文件夹,然后把DLL复制到下面去。
2)。在IIS添加一个网站,起名为ExportServices。按照下面的配置下。不会的可自行百度搜索,如图所示:
3)。然后点击应用程序池,点击刚才创建的ExportServices=》右键属性=》基本设置,如图所示:
PS:在64位系统需要设置一下【启用32位应用程序】的选项=》右键应用程序属性=》高级设置=》启用32位应用程序=》勾选上(要不然你在32位系统开发直接复制到服务器下面
会直接报错)
4)。Ok我们直接运行下Delhpi 编写的WebServices 的dll 会出现
<span style="color:#FF0000;">HTTP 错误 404.2 - Not Found
由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。</span>
看见这个错误就是证明我们还没配置好,继续配置下。点击应用程序池上面的IIS总节点=》切换到功能视图=》点击"ISAPI 和 CGI 限制",如图所示:
5)。点击"ISAPI 和 CGI 限制" 进入主界面然后=》右键属性 添加,如图所示:
6)。点击“处理程序映射” 进入主界面然后=》如图所示:看见ISAPI-dll默认是禁用的,只需要启用即可
点击ISAPI-dll =>右键属性“编辑功能权限” =》对话框打开后把【执行】勾选上即可。
7:)。然后在浏览下Delphi编写的Webservices的Ddll 如下图所示:
8)。出现上面效果,就证明我们配置好了Delphi编写的WebServices(ISAPI)的Dll了。项目就可以直接调用了。
在Windows 2008 R2中配置是一样的。参考上面即可。