开发者

How to get SOAP/WSDL out of Delphi XE WebService in IIS 7.5?

I have the below mentioned problem:

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

I did everything outlined in answer 2 (see below or that URL) Didn't help - now I can't run the DLL at all - Firefox wants to download the file, request isn't passed off to ISAPI. I can only launch the WS ISAPI process by permissioning explicitly my webService DLL in the handler mappings for the VD - then the default WS page shows but SOAP and WSDL are never emitted, as explained in above mentioned post.

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

"... I can never get to the SOAP. In the same way, the WSDL Importer cannot get to the SOAP either...The problem was that I had created a specific script mapping in the Handling Mappings for the ISAPI dll. This caused IIS to redirect all requests to the specific dll, which was why any request that included an info path part was ignored. The info path was stripped off.

The problem was that I had created a specific script mapping in the Handling Mappings for the ISAPI dll. This caused IIS to redirect all requests to the specific dll, which was why any request that included an info path part was ignored. The info path was stripped off.

What I really needed to do is to simply enable the Execute feature permission of the ISAPI-dll module mapping handler mapping. This module mapping is available for a virtual directory once you have allowed unspecified ISAPI modules (or CGI modules, if that is the kind of Web server extension you have created).

To fix my problem, I needed to

  1. Delete the directory whose handling mappings I has messed up.

  2. Since I already had allowed unspecified ISAPI modules (select Edit Feature Settings from the ISAPI and CGI Restrictions applet from the IIS section of the server), I then needed to add a new vir开发者_JS百科tual directory for the appropriate Web site (here is where I recreated the directory that I deleted in previous step 1.

  3. From the Handling Mappings applet for the virtual directory, you probably have the ISAPI-dll handling mapping disabled. Select it and select the Edit Feature Permissions option on the right-hand side. Enable the Execute checkbox."


I went through .\Windows\System32\inetsrv\config\applicationHost.config and deleted the entries for all of my VDs and DLL's, then uninstalled and reinstalled IIS and made sure to install support for ISAPI extensions and whatever other features it needs.

Then, in the webServer root I set the CGI-ISAPI handlers to allow all unknown ISAPI.dlls, created a new VD and inherited the handlers from parent without permissioning any of my WS module explicitely - now ISAPI process runs and emits WSDL/SOAP.

The problem with this is that you must allow all unknown ISAPI dll's - not particularly secure if you're deploying on a vulnerable public webServer.

MNG

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜