【问题标题】:How to get SOAP/WSDL out of Delphi XE WebService in IIS 7.5?如何在 IIS 7.5 中从 Delphi XE WebService 中获取 SOAP/WSDL?
【发布时间】:2016-10-26 01:35:11
【问题描述】:

我有以下提到的问题:

Delphi native Web Service applications not working. IIS 7 seems to be stripping the pathinfo

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

Delphi native Web Service applications not working. IIS 7 seems to be stripping the pathinfo

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

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

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

为了解决我的问题,我需要

  1. 删除我弄乱了处理映射的目录。

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

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

【问题讨论】:

    标签: web-services delphi iis-7 delphi-xe


    【解决方案1】:

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

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

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

    MNG

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多