[Delphi + IIS] Verbinding via TWebConnection - IIS-install?

Pagina: 1
Acties:
  • 101 views sinds 30-01-2008
  • Reageer

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 22:26

Tomatoman

Fulltime prutser

Topicstarter
Met behulp van DataSnap heb ik een client en een server gebouwd. Nu wil ik een een verbinding via TWebConnection opbouwen. Daarvoor schijn ik volgens de helpfiles van Delphi het bestand HTTPsrvr.dll te moeten installeren op de server. Letterlijke tekst uit de helpfiles:
TWebConnection establishes the initial connection between the client application and a remote application server using HTTP. To use TWebConnection, you must have the following:
  • Wininet.dll must be installed on the client system. Wininet.dll is found in the Windows system directory if you have IE3 or higher installed.
  • The server system must have IIS version 4 or better or Netscape Enterprise version 3.6 or better.
  • HTTPsrvr.dll must be installed with the Web server to which TWebConnection forms a connection. HTTPsrvr.dll launches the application server and marshals all calls to the application server interface.
Heel fijn, maar nergens staat HOE ik die DLL installeer. En de helpfiles van IIS en diverse Delphi-boeken helpen me ook geen steek verder :(. Testplatform is trouwens WinXP Pro. Vraag mijn tweakersvriendjes is dus: hoe installeer ik HTTPsrvr.dll zodanig in IIS dat ik via TWebConnection de server kan benaderen? En wat is dan de URL om de server op te roepen?

Een goede grap mag vrienden kosten.


  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 20-08 15:04

mOrPhie

❤️❤️❤️❤️🤍

C:\Inetpub\Scripts :?

Of waar je je scripts-dir ook hebt. :)

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 22:52
moet je niet gewoon 'regsvr32 HTTPsrvr.dll' doen?

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

HTTPSRVR.DLL is een ISAPI filter en dient dan ook zo geregistreerd te worden bij IIS.

[ Voor 6% gewijzigd door LordLarry op 26-06-2003 09:37 ]

We adore chaos because we like to restore order - M.C. Escher


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 22:26

Tomatoman

Fulltime prutser

Topicstarter
Goed, ik ben een stapje verder. Als ik httpsrvr.dll in de \Scripts-map gooi, kan de client netjes een verbinding maken. De server wordt dan gestart als een ISAPI-toepassing. Het lukt alleen niet om de IAppServer interface te verkrijgen, dus blijkbaar doe ik iets niet goed.

Als ik het probeer te installeren als een ISAPI-filter, blijkt de dll niet te kunnen worden geladen.

Wat doe ik fout?

Een goede grap mag vrienden kosten.


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 22:26

Tomatoman

Fulltime prutser

Topicstarter
Het kostte me een paar uurtjes debuggen, maar ik ben eruit. Er stond
Delphi:
1
2
3
4
var
  ServerDisp: IMijnServerDisp;
begin
  ServerDisp := IDispatch(ConnBroker.AppServer) as IMijnServerDisp;
Terwijl er had moeten staan
Delphi:
4
  ServerDisp := IMijnServerDisp(IDispatch(ConnBroker.AppServer));
Op naar het volgende probleem :).

Een goede grap mag vrienden kosten.


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 22:26

Tomatoman

Fulltime prutser

Topicstarter
Het wordt er allemaal niet echt beter op. Als de DataSnap server via DCOM of een socket connection wordt aangeroepen, gaat alles zoals het hoort en verschijnt de server in beeld. Als hij echter via een web connection wordt aangeroepen, crasht de server :'(. Omdat de server bij de web connection nooit in beeld verschijnt (bij DCOM of een socket connection wel), heb ik geen idee wat er misgaat.

Is er een manier om de DataSnap server in de IDE van Delphi te debuggen als hij door de webserver wordt opgestart? Ik gebruik IIS 5.

Een goede grap mag vrienden kosten.


  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 22-08 10:56

Delphi32

Heading for the gates of Eden

Vroegâh moest je dan het IIS proces als Host Application opgeven in Delphi en dan je dcom server door IIS laten aanroepen. Dan kon je breakpoints zetten enzo.
Moet toegeven dat ik dat niet altijd lekker vond werken, de boel wilde nog wel eens gaan hangen of stiekum toch niet langs je breakpoints komen :O.
DrBob heeft een tooltje (gehad) om CGI te kunnen debuggen, misschien dat je daar wat mee kan. Je kon iig erg gemakkelijk isapi dlls debuggen met dat tooltje. Kijk ff bij http://www.drbob42.com.

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 22:26

Tomatoman

Fulltime prutser

Topicstarter
Dr. Bob heeft een paar aardige artikelen geschreven over het debuggen van WebSnap applicaties, maar trucs voor DataSnap bleken niet te werken omdat de DataSnap server niet zelf wordt geladen, maar de ISAPI-toepassing HTTPsrvr.dll de DataSnap server laadt. Daarmee lijkt het einde verhaal om te debuggen binnen de IDE :|.

Wel kwam ik een uitstekend artikel tegen over allerlei minder bekende debuggingmogelijkheden: Non-Obvious Debugging Techniques. Zeer de moeite waard om eens door te lezen. Met het stukje over logging heb ik het uiteindelijke probleem gevonden. 'Er is een onbekende fout opgetreden' bleek te betekenen dat een tabel niet geopend kon worden.

Een goede grap mag vrienden kosten.

Pagina: 1