~~~ WebServices 分发的问题 ~~~ ( 积分: 300 )

S

S3D4

Unregistered / Unconfirmed
GUEST, unregistred user!
我用 Delphi7 + Update 1写了一个比较简单的 ISAPI 的 WebService 用于单位的OA应用,可以在我的电脑的(XP专业版本)IIS里面完美的实现调用,但是当我将这个 ISAPI 分发到服务器的时候(Windows 2003 Server / IIS 6),发现这个ISAPI不能正常工作,甚至连 WSDL 也不能访问了,得到一个 HTTP 404 页面无法找到 的错误!

我可以肯定这个文件在那里呆着,在XP里面可以使用 http://ip/path/OAServices.dll/WSDL 得到WSDL文件,而在2003 Server上面就报错,大家能不能帮忙试验一下看看 2003 Server是否需要一些特别的配置
 
我用 Delphi7 + Update 1写了一个比较简单的 ISAPI 的 WebService 用于单位的OA应用,可以在我的电脑的(XP专业版本)IIS里面完美的实现调用,但是当我将这个 ISAPI 分发到服务器的时候(Windows 2003 Server / IIS 6),发现这个ISAPI不能正常工作,甚至连 WSDL 也不能访问了,得到一个 HTTP 404 页面无法找到 的错误!

我可以肯定这个文件在那里呆着,在XP里面可以使用 http://ip/path/OAServices.dll/WSDL 得到WSDL文件,而在2003 Server上面就报错,大家能不能帮忙试验一下看看 2003 Server是否需要一些特别的配置
 
HTTP 404的错误是表示请求的东西没有找到,所以可能是不是path的目录权限问题,把path的权限提高,把所有权限包括运行权限也加上看看

另外一个不是办法的办法就是 http://ip/path/OAServices.dll/WSDL最后加个"/"

http://ip/path/OAServices.dll/WSDL/
不怎么懂,供参考
 
我的虚拟目录是 脚本和可执行 权限的,加了 / 也是一样,怀疑是 IIS 6 的安全设置方面对ISAPI有特殊的要求,大家有没有在IIS 6上部署过Web Services,请再帮帮忙
 
IIS 6有个SSL,不知道是不是他的问题,但是应该没理由的,HTTPS我们也没有用到,不知道能不能设置IIS的日志,
 
你这个问题我也遇到了,要么你在2003上重新编译,客户端重新import XML文件.
最好的方式是写成 CGI的 exe 方式,一定会成功,我最近也在学webservice,有了点
心得体会,欢迎交流
 
http://support.microsoft.com/kb/307608/zh-cn
http://support.microsoft.com/kb/326444/zh-cn

我没有启用 SSL,感觉像是 URLScan 的设置问题
 
2003 Server在用户权限方面做了很多文章,需要一些设置,可以看看关于权限的帮助
 
CGI EXE 也是一样,在 2003 Server上安装Delphi重新编译还是一样

叹~~~
 
我就不信回复不了,第N次说回复失败了
是因为Windows2003默认不允许执行ISAPI和CGI.
Windows2003 管理工具 IIS扩展 把允许运行未知ISAPI和允许运行未知的CGI两个选项选择启用就行了.
我当时也是迷糊了N久才找到这两个选项的
 
Windows2003 控制面板 管理工具 计算机管理 IIS服务 WEB服务器扩展

我的电脑 右键 管理 IIS服务 WEB服务器扩展
默认连ASP都是关掉的,把你需要启用的都启用起来吧
 
大家可以试试然后回复,我这里两台 Win 2003 Server都是一样的(绝对正版产品),

前面说得法子都不行啊
 
顶部