AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Webservice Kommunikation loggen
Thema durchsuchen
Ansicht
Themen-Optionen

Webservice Kommunikation loggen

Ein Thema von QuickAndDirty · begonnen am 6. Jan 2017 · letzter Beitrag vom 6. Jan 2017
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.927 Beiträge
 
Delphi 12 Athens
 
#1

Webservice Kommunikation loggen

  Alt 6. Jan 2017, 12:15
Hallo,
in welchem Event welcher Komponente kann ich die Soaprequests und die Responses loggen?
Es ist vermutlich super offensichtlich...aber ich finde es nicht.
TidHTTPWebBrokerBridge ist undokumentiert aber ich brauche wohl sowieso ein Event aus dem "TIdCustomHTTPServer" denke ich mal.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Webservice Kommunikation loggen

  Alt 6. Jan 2017, 12:24
Hallo,
in welchem Event welcher Komponente kann ich die Soaprequests und die Responses loggen?
Es ist vermutlich super offensichtlich...aber ich finde es nicht.
TidHTTPWebBrokerBridge ist undokumentiert aber ich brauche wohl sowieso ein Event aus dem "TIdCustomHTTPServer" denke ich mal.
Man kann dem IdHTTPCustomServer eine Indy Intercept Instanz zuweisen, die dann dass Loggen erledigt. Ich kenne aber die Details der TidHTTPWebBrokerBridge nicht, kann also nicht sagen wo und wie man an den TIdCustomHTTPServer kommt.

Sourcebeispiel:

Intercept := TIdServerInterceptLogFile.Create(nil);
Intercept.Filename := 'httpIntercept.log';
HTTPServer.Intercept := Intercept;

(gefunden in https://www.habarisoft.com/daraja_fr...ingStarted.pdf)
Michael Justin

Geändert von mjustin ( 6. Jan 2017 um 12:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Webservice Kommunikation loggen

  Alt 6. Jan 2017, 12:31
Hallo,
in welchem Event welcher Komponente kann ich die Soaprequests und die Responses loggen?
Event?

Für jeden WebService hast Du doch eine Procedure bzw. Funktion geschrieben... Da kannst Du doch an jeder beliebigen Stelle loggen?

Oder Verstehe ich die Frage nicht...
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.927 Beiträge
 
Delphi 12 Athens
 
#4

AW: Webservice Kommunikation loggen

  Alt 6. Jan 2017, 12:35
Hallo,
in welchem Event welcher Komponente kann ich die Soaprequests und die Responses loggen?
Event?

Für jeden WebService hast Du doch eine Procedure bzw. Funktion geschrieben... Da kannst Du doch an jeder beliebigen Stelle loggen?

Oder Verstehe ich die Frage nicht...
Ich will mir das sparen. Will alle zukünftigen und aktuelle Fliegen mit einer klappe erschlagen.
Es gibt ja sicher eine zentrale stelle wo der Datenverkehr verarbeitet wird.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.927 Beiträge
 
Delphi 12 Athens
 
#5

AW: Webservice Kommunikation loggen

  Alt 6. Jan 2017, 12:35
Hallo,
in welchem Event welcher Komponente kann ich die Soaprequests und die Responses loggen?
Es ist vermutlich super offensichtlich...aber ich finde es nicht.
TidHTTPWebBrokerBridge ist undokumentiert aber ich brauche wohl sowieso ein Event aus dem "TIdCustomHTTPServer" denke ich mal.
Man kann dem IdHTTPCustomServer eine Indy Intercept Instanz zuweisen, die dann dass Loggen erledigt. Ich kenne aber die Details der TidHTTPWebBrokerBridge nicht, kann also nicht sagen wo und wie man an den TIdCustomHTTPServer kommt.

Sourcebeispiel:

Intercept := TIdServerInterceptLogFile.Create(nil);
Intercept.Filename := 'httpIntercept.log';
HTTPServer.Intercept := Intercept;

(gefunden in https://www.habarisoft.com/daraja_fr...ingStarted.pdf)
Ich gucke es mir an.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: Webservice Kommunikation loggen

  Alt 6. Jan 2017, 12:43
In meinem Webserver mit der Komponente TIdHTTPServer nutze ich die Ereignisse OnCommandGet und OnCommandOther u. a. zum Loggen der Anfragen an den Server.

Ausgehend von den Quelltexten müsste TidHTTPWebBrokerBridge ein Nachfahre von TIdCustomHTTPServer sein. Und die beiden Ereignisse sind dort vorhanden und auch published, müssten von daher eigentlich nutzbar sein.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Webservice Kommunikation loggen

  Alt 6. Jan 2017, 12:48
In meinem Webserver mit der Komponente TIdHTTPServer nutze ich die Ereignisse OnCommandGet und OnCommandOther u. a. zum Loggen der Anfragen an den Server.

Ausgehend von den Quelltexten müsste TidHTTPWebBrokerBridge ein Nachfahre von TIdCustomHTTPServer sein. Und die beiden Ereignisse sind dort vorhanden und auch published, müssten von daher eigentlich nutzbar sein.

TidHTTPWebBrokerBridge nutzt diese Ereignisse sehr wahrscheinlich bereits, weist ihnen eigene Handler zu. Damit wären sie nicht mehr für eigenes Logging nutzbar.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

AW: Webservice Kommunikation loggen

  Alt 6. Jan 2017, 13:02
Man müsste halt prüfen, ob dem OnCommandGet von TidHTTPWebBrokerBridge schon was zugewiesen ist.

Könnte sowas nicht eventuell funktionieren?
Delphi-Quellcode:
...
 FSaveOnCommandGet: TIdHTTPCommandEvent;
...

// an geeigneter Stelle vor dem Aktivieren ...
 FSaveOnCommandGet := MyWebBrokerBridge.OnCommandGet;

procedure TMyWebBrokerBridge.CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  // und hier dann loggen?
  if Assigned(FSaveOnCommandGet) then begin
    FSaveOnCommandGet(AContext, ARequestInfo, AResponseInfo);
  end;
  // oder hier dann loggen?
end;
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Webservice Kommunikation loggen

  Alt 6. Jan 2017, 13:31
Ich will mir das sparen. Will alle zukünftigen und aktuelle Fliegen mit einer klappe erschlagen.
Es gibt ja sicher eine zentrale stelle wo der Datenverkehr verarbeitet wird.
Ahh ok... Native Daten zu loggen - macht für mich keinen Sinn. Ist wegen dem XML overhead auch viel zu viel.

Deswegen logge ich immer das, was ich auch brauche... Besonders weil das je nach Webservice auch unterschiedliche Daten sind. (Da eine ISAPI.DLL ja i.d.R. mehrere Funktionalitäten bietet)

Grüsse
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz