我的开发环境是:Delphi7+Win2000+IIS,  IIS中有一个虚拟目录Scripts,我已经把它的执行许可设置成“脚本或可执行程序”了,并把编译产生的.DLL拷贝到该目录下了,可以我就是访问不了其中的服务,我访问用的地址为:
Http://192.168.1.99/Scripts/ISAPIService.dll/wsdl/ImyISAPI请问各位,我怎么才能访问到ISAPI和CGI类型的WEB Service?

解决方案 »

  1.   

    你所输入的URL,应该是查看ImyISAPI接口所包含的服务声明。
    你可以先试着在浏览器中输入Http://localhost/Scripts/ISAPIService.dll/查看输出是否正常
      

  2.   

    现在用CGI类型的已经可以了,但ISAPI的还是不行,以下是我用来访问的地址(我又换了两个程序):ISAPI:
    http://192.168.1.99/scripts/isapiProject.dll/wsdl/Iisapi
    http://192.168.1.99/scripts/isapiProject.dllCGI:
    http://192.168.1.99/scripts/cgiProject.exe/wsdl/Icgi
      

  3.   

    我做过的isapi ,放在哪里都可以执行呀,
    不知你的服务是如何实现的,做什么的?
      

  4.   

    我在做一个WAD类型的服务的时候用来处理数据库,但做成ISAPI的时候就不行了。
    我做一个最简单的方法,用来返回一个字符串。请高手多多指点。
      

  5.   

    老兄,Web Service是基于HTTp+XML这个你应该知道,
    用Web Service无非四种类型:
    1.ISAPI
    2.CGI
    3.Apache
    4.WAD
    需要在  IIS 中设置,Web Service的虚拟目录地。
    然后启动服务,客户端才能正常使用的
    我做了几个Web Service 系统,都是ISAPI类型的
      

  6.   

    另外,你把,WSDL使用的是SOAP的
    你试试看,
    在另外,设置时,选上可以执性ISAPI/CGI脚本程序的对勾
      

  7.   

    我开始是用WAD类型的,可以访问,
    后来我用ISAPI类型的,但不能访问,然后我马上改成CGI类型的来食蚁兽市试一试,也可以访问,就是ISAPI类型的不能访问,我不知道ISAPI类型是否要怎么特别设置?
      

  8.   

    我发现我在ISAPI类型的WEB服务里访问数据库的时候就会出现错误,下面是我在接口中的声明和类中的实现:
    生命:
    function  GetData:OleVariant;stdcall;实现:
    function  TmyISAPI.GetData:OleVariant;stdcall;
    begin
      GetData:=DataModule1.GetData;
    end;
    其中DataModule1.GetData是在一个数据模块中实现的:
    function TDataModule1.GetData:OleVariant;
    begin
      GetData:=SimpleDataSet1.Data;
    end;就这样,访问的时候出现一个声称不知类型的错误。
    请大侠们帮帮忙。
      

  9.   

    对了,我用同样的方法在WAD类型的WEB服务中访问数据库没有问题。