J'ai créé un très simple Delphi 2010 service web de CGI et je suis en mesure d'obtenir exactement le même problème sur Delphi 2007.ne peut pas voir WSDL sur Delphi CGI avec IIS7
Mon interface invocable ressemble à ceci:
ISimpleTest = interface(IInvokable)
['{4E318A9A-D361-4A18-A963-EE6D7F70E9C5}']
function SayHello(const S: string; N: Integer): string; stdcall;
end;
Et la fonction est mise en œuvre dans une façon tout aussi simple:
function TSimpleTest.SayHello(const S: string; N: Integer): string;
begin
Result := 'Hello ' + S + ', all ' + IntToStr(N) + ' of you';
end;
J'ai copié le résultat SimplecGI.exe à notre Windows server 2008 serveur exécutant IIS7. J'ai créé mon dossier virtuel, configuré des permissions d'exécution, autorisé des modules CGI non spécifiés, activé des applications 32 bits et enfin pu voir la page d'information de service depuis mon navigateur en utilisant une URL comme celle-ci: http://myserver:8001/SimpleCGI/SimpleCGI.exe
Les étapes de configuration sont différentes à partir de IIS6 mais la page d'informations sur le service semble identique sur les deux versions IIS. Il a également des liens pour le WSDL pour ISimpleTest, tout comme il l'a fait sur IIS6. Mais sur IIS6, en cliquant sur ce lien (une URL comme ceci: http://myserver/SimpleCGI/SimpleCGI.exe/wsdl/ISimpleTest) montre le WSDL attendu dans le navigateur. Toutefois, dans IIS7, le fait de cliquer sur ce même lien affiche à nouveau la page d'informations sur le service. Il en va de même pour le lien WSDL pour IWSDLPublish et le lien WSIL (http://myserver:8001/SimpleCGI/SimpleCGI.exe/inspection.wsil).
Quiconque a déjà vu ça? Quelqu'un l'a-t-il résolu avant?