昨天休息,在网上找在apache部署isapi的资料,结果试了一天都没有结果。今早找到
http://www.drbob42.com/delphi7/apache2040.htm
一篇翻译过的
http://www.51delphi.com/wz/11.html
后,就可以将webservice编译成apache模块了,不使用isapi类型的。虽然文中说的是delphi6,但是delphi7存在同样的问题,修改后在当前的机器上已经可以正确的访问webservice的接口了,
这样单位的应用就不需要使用iis这个不太安全的东西了。明天上班之后在复杂环境中测试。
下面是如何进行部署的步骤,
-
将编译(先根据上面文章进行修改)好的apache 2.x dso模块拷贝到apache安装目录/modules中 -
修改httpd.conf ,在在最后加入 -
#begin by jalphi==========================================
LoadModule Project1_module modules/Project1.dll
<Location /project1>
SetHandler project1-handler
</Location>
#end======================================================= -
重启apache -
访问http:/localhost/project1,ok,成功了
如果你没有使用上述链接中的方法进行修改,那么apache是无法启动的,因为它无法载入格式错误的dso模块。
isapi类型的部署,仍然没有头绪。
[2006-4-3补]
刚才把实际应用中的webservice的dll用apache类型重新编译后,放在apache下,未能成功,看来还是有问题。
又测试了一下,看来仿佛如果webservice调用com+的化,是无法在apache下运行的。