如何从IIS 7.5中的Delphi XE WebService中获取SOAP/WSDL?

Vec*_*tor 5 delphi iis-7 web-services delphi-xe

我有下面提到的问题:

Delphi本机Web服务应用程序无法正常工作.IIS 7似乎正在剥离pathinfo

我做了答案2中概述的所有内容(见下面或那个URL)没有帮助 - 现在我根本无法运行DLL - Firefox想要下载文件,请求不会传递给ISAPI.我只能通过在VD的处理程序映射中明确允许我的webService DLL来启动WS ISAPI进程 - 然后默认的WS页面显示但是SOAP和WSDL永远不会被发出,如上面提到的帖子所述.

Delphi本机Web服务应用程序无法正常工作.IIS 7似乎正在剥离pathinfo

"...我永远无法访问SOAP.同样,WSDL Importer也无法访问SOAP ......问题是我在ISAPI dll的处理映射中创建了一个特定的脚本映射.导致IIS将所有请求重定向到特定的dll,这就是为什么忽略包含信息路径部分的任何请求.信息路径被剥离.

问题是我在ISAPI DLL的处理映射中创建了一个特定的脚本映射.这导致IIS将所有请求重定向到特定的dll,这就是为什么忽略包含信息路径部分的任何请求的原因.信息路径被剥离.

我真正需要做的是简单地启用ISAPI-dll模块映射处理程序映射的执行功能权限.一旦允许未指定的ISAPI模块(或CGI模块,如果这是您创建的Web服务器扩展模块),此模块映射可用于虚拟目录.

要解决我的问题,我需要

  1. 删除我搞砸了处理映射的目录.

  2. 由于我已经允许未指定的ISAPI模块(从服务器的IIS部分选择ISAPI和CGI限制小程序中的编辑功能设置),然后我需要为相应的网站添加一个新的虚拟目录(这里是我重新创建的我在上一步中删除的目录.

  3. 从虚拟目录的Handling Mappings小程序中,您可能已禁用ISAPI-dll处理映射.选择它并选择右侧的"编辑功能权限"选项.启用执行复选框."

Vec*_*tor 3

我浏览了 .\Windows\System32\inetsrv\config\applicationHost.config 并删除了所有 VD 和 DLL 的条目,然后卸载并重新安装了 IIS,并确保安装了对 ISAPI 扩展及其所需的其他功能的支持。

然后,在 webServer 根目录中,我设置 CGI-ISAPI 处理程序以允许所有未知的 ISAPI.dll,创建一个新的 VD 并从父级继承处理程序,而无需明确许可我的任何 WS 模块 - 现在 ISAPI 进程运行并发出 WSDL/SOAP。

这样做的问题是您必须允许所有未知的 ISAPI dll - 如果您部署在易受攻击的公共 Web 服务器上,则不是特别安全。

神经网络