SOAP-SVCLOG-Viewer 1.4
A friendly SOAP log messages viewer
Messages Class Reference

La classe statique Messages gère la liste des messages SOAP échangés. Tous les membres de la classe sont statiques: Pas besoin d'instancier la classe. More...

#include <messages.h>

Classes

struct  Message
 Structure descriptive d'un Message SOAP extrait du fichier SVCLOG. More...

Static Public Member Functions

static void init (std::string filename)
 Initialise toutes les infos du parsing.
static void append ()
 Ajout d'un nouveau message à la liste.
static void setWsdl (std::string wsdl)
 Cette méthode mémorise le nom du WSDL. (Présent pour les messages de type REQUEST, uniquement).
static void setHost (std::string host)
 Mémorise le nom de l'ordinateur émetteur du message.
static void setAction (std::string *action)
 Cette méthode analyse la string fourni et extrait les deux derniers mots significatifs, pour les enregister dans les champs Message.module et Message.action. Exemple "Session" -> "OpenOrReuse".
static void setActivityID (std::string id)
 Mémorise l'ID de l'activité. L'activité peut regrouper plusieurs messages, par exemple une query et sa réponse.
static void setMessageTime (std::string messagetime)
 Stocke l'heure du message au format "14:31:17.975".
static void setMessageSource (std::string source)
 Mémorise le sens du ciculation du message.
static void setCurrentBodyStartPosition (long position)
 Mémorise la position du début du Body.
static void setCurrentBodyEndPosition (long position)
 Mémorise la position de la fin du Body.
static void setComputerName (std::string name)
 Mémorise le hostname du poste ayant émis le message.
static void setLogDate (std::string date)
 Mémorise la date à laquelle le message a été enregistré dans la trace.
static Message * getMessage (std::string number)
 Retourne le message de la liste portant le numéro demandé.
static Message * getMessage (long number)
 Retourne le message de la liste portant le numéro demandé.
static void getMessageBody (long number)
 Cette fonction lit le Body du message demandé dans le fichier SVCLOG et le mémorise dans la structure du Message de la liste.
static bool isSession ()
 Indique si le Message est une demande d'ouverture ou de fermeture de session. Il sera alors grisé dans l'IHM car moins intéressant.
static bool isCurrentMessageFaulty ()
 Indique si le Message courant est un message d'erreur SOAP.
static bool isCurrentMessageRequest ()
 Indique si le Message est une Query ou une Response.
static bool isCurrentMessageServiceLevel ()
 Indique si le Message courant est un message SOAP de niveau Service.
static std::string getCurrentMessageTime ()
 Renvoie le timestamp du message courant.
static std::string getCurrentMessageIndex ()
 Retourne le numéro du message courant dans la liste. (C'est le dernier message de la liste).
static int getNextCorrelatedMessageIndex (int startingIndex, std::string id, int endingIndex=-1)
 Renvoie l'index du prochain Message ayant cet ActivityId.
static int getPreviousCorrelatedMessageIndex (int index, std::string id)
 Renvoie l'index d'un précédent Message ayant cet ActivityId,.
static std::string getComputerName ()
 Renvoie le hostname du poste ayant émis le message.
static std::string getLogDate ()
 Renvoie la date à laquelle le message a été enregistré dans la trace.
static bool containsMessageBody (int index, std::string substring)
 On regarde si le Body demandé contient la substring.

Detailed Description

La classe statique Messages gère la liste des messages SOAP échangés. Tous les membres de la classe sont statiques: Pas besoin d'instancier la classe.


Author
David de Lorenzo

Pour les messages de type QUERY, on a des informations dans les balises:

Balise Query Response Utilisé
System contains:
<TimeCreated SystemTime="2020-06-22T14:31:17.9755137Z" /> x x
<Correlation ActivityID="{dee19e7b-5fba-4adc-8197-2aee3c2e6557}" /> x x x
<Computer> 00XDSVMAM03200 </Computer> x x
HttpRequest contains:
<Host> 172.18.146.32 </Host> x x
MessageLogTraceRecord contains:
<MessageLogTraceRecord Time="2020-06-22T14:31:17.9755137+00:00" > x x x
<MessageLogTraceRecord Source="TransportReceive" > x x x
<To> http://00xdsvmam03200.paris.tv5monde.org/VEDA.SOA/Session.svc?wsdl </To> x x
<Action> http://www.sgt.eu/VEDA.SOA/Session.v1/Session/OpenOrReuse </Action> x x x
<SOAPAction> "http://www.sgt.eu/VEDA.SOA/Session.v1/Session/OpenOrReuse" </SOAPAction> x

Pour les messages de type RESPONSE, on a des informations dans les balises:

Balise Query Response Utilisé
System contains:
<TimeCreated SystemTime="2020-06-22T14:31:17.9755137Z" /> x x
<Correlation ActivityID="{dee19e7b-5fba-4adc-8197-2aee3c2e6557}" /> x x x
<Computer> 00XDSVMAM03200 </Computer> x x
MessageLogTraceRecord contains:
<MessageLogTraceRecord Time="2020-06-22T14:31:17.9755137+00:00"> x x x
<MessageLogTraceRecord Source="TransportSend" > x x x
<Action> http://www.sgt.eu/VEDA.SOA/Session.v1/Session/OpenOrReuseResponse </Action> x x x
<ActivityId> dee19e7b-5fba-4adc-8197-2aee3c2e6557 </ActivityId> x

Member Function Documentation

◆ append()

void Messages::append ( )
static

Ajout d'un nouveau message à la liste.


See also
Message

◆ containsMessageBody()

bool Messages::containsMessageBody ( int index,
std::string substring )
static

On regarde si le Body demandé contient la substring.


Parameters
index: Le numéro du message.
substring: La string à rechercher.
Returns
Retourne TRUE si le Body contient la substring.

◆ getComputerName()

std::string Messages::getComputerName ( )
static

Renvoie le hostname du poste ayant émis le message.


Returns
Retourne l'émetteur du Message
See also
setComputerName()

◆ getCurrentMessageIndex()

std::string Messages::getCurrentMessageIndex ( )
static

Retourne le numéro du message courant dans la liste. (C'est le dernier message de la liste).


See also
Message

◆ getCurrentMessageTime()

std::string Messages::getCurrentMessageTime ( )
static

Renvoie le timestamp du message courant.


Returns
Retourne le timestamp du message courant au format "14:31:17.975"
See also
setMessagetime()

◆ getLogDate()

std::string Messages::getLogDate ( )
static

Renvoie la date à laquelle le message a été enregistré dans la trace.


Returns
Retourne la date du message, au format "2020-06-22".
See also
setLogDate()

◆ getMessage() [1/2]

Messages::Message * Messages::getMessage ( long number)
static

Retourne le message de la liste portant le numéro demandé.


Parameters
number: Le numéro du message.
See also
Message

◆ getMessage() [2/2]

Messages::Message * Messages::getMessage ( std::string number)
static

Retourne le message de la liste portant le numéro demandé.


Parameters
number: Le numéro du message.
See also
Message

◆ getMessageBody()

void Messages::getMessageBody ( long number)
static

Cette fonction lit le Body du message demandé dans le fichier SVCLOG et le mémorise dans la structure du Message de la liste.


Parameters
number: Le numéro du message dont on veut lire le Body.

◆ getNextCorrelatedMessageIndex()

int Messages::getNextCorrelatedMessageIndex ( int startingIndex,
std::string id,
int endingIndex = -1 )
static

Renvoie l'index du prochain Message ayant cet ActivityId.


Parameters
startingIndex: Index (non-inclus) de début de la recherche. Mettre -1 pour inclure la ligne 0.
id: ActivityId à rechercher.
endingIndex: Index de fin de la recherche (-1=last).
Returns
Retourne l'index du prochain Message ayant cet ActivityId, ou -1 si pas trouvé.
See also
getPreviousCorrelatedMessageIndex()

◆ getPreviousCorrelatedMessageIndex()

int Messages::getPreviousCorrelatedMessageIndex ( int index,
std::string id )
static

Renvoie l'index d'un précédent Message ayant cet ActivityId,.


Parameters
index: Index où débuter la recherche (recherche en arrière).
id: ActivityId à rechercher.
Returns
Retourne l'index du message, ou -1 si pas trouvé.
See also
getNextCorrelatedMessageIndex()

◆ init()

void Messages::init ( std::string filename)
static

Initialise toutes les infos du parsing.


Parameters
filename: Le nom du fichier XML

◆ isCurrentMessageFaulty()

bool Messages::isCurrentMessageFaulty ( )
static

Indique si le Message courant est un message d'erreur SOAP.


Returns
Renvoie True si le message courant se termine par Fault ou par fault.

◆ isCurrentMessageRequest()

bool Messages::isCurrentMessageRequest ( )
static

Indique si le Message est une Query ou une Response.


Returns
Renvoie True si le Message courant est de type Request.

◆ isCurrentMessageServiceLevel()

bool Messages::isCurrentMessageServiceLevel ( )
static

Indique si le Message courant est un message SOAP de niveau Service.


Return values
TRUEsi le message courant est de type Service,
FALSEsi le message courant est de type Transport.

◆ isSession()

bool Messages::isSession ( )
static

Indique si le Message est une demande d'ouverture ou de fermeture de session. Il sera alors grisé dans l'IHM car moins intéressant.


Returns
Retourne TRUE si le Message courant est de type Session.

◆ setAction()

void Messages::setAction ( std::string * action)
static

Cette méthode analyse la string fourni et extrait les deux derniers mots significatifs, pour les enregister dans les champs Message.module et Message.action. Exemple "Session" -> "OpenOrReuse".


Attention
le paramètre action est modifié pour ne laisser que le dernier item de la string.
Parameters
[in,out]actionUne url du type "http://www.sgt.eu/VEDA.SOA/Session.v1/Session/OpenOrReuse".

◆ setActivityID()

void Messages::setActivityID ( std::string id)
static

Mémorise l'ID de l'activité. L'activité peut regrouper plusieurs messages, par exemple une query et sa réponse.


Parameters
id: L'ActivityID est généralement un UUID du type "{dee19e7b-5fba-4adc-8197-2aee3c2e6557}"

◆ setComputerName()

void Messages::setComputerName ( std::string name)
static

Mémorise le hostname du poste ayant émis le message.


Parameters
name: Le nom de l'émetteur du Message
See also
getComputerName()

◆ setCurrentBodyEndPosition()

void Messages::setCurrentBodyEndPosition ( long position)
static

Mémorise la position de la fin du Body.


Parameters
position: Byte index de la fin du Body dans le fichier SVCLOG.

◆ setCurrentBodyStartPosition()

void Messages::setCurrentBodyStartPosition ( long position)
static

Mémorise la position du début du Body.


Parameters
position: Byte index du début du Body dans le fichier SVCLOG.

◆ setHost()

void Messages::setHost ( std::string host)
static

Mémorise le nom de l'ordinateur émetteur du message.


Parameters
host: Contient un hostname ou une adresse IP.

◆ setLogDate()

void Messages::setLogDate ( std::string date)
static

Mémorise la date à laquelle le message a été enregistré dans la trace.


Parameters
date: Le date-heure du message dans la trace, au format "2020-06-22T14:31:17.9755137+00:00".
See also
getLogDate()

◆ setMessageSource()

void Messages::setMessageSource ( std::string source)
static

Mémorise le sens du ciculation du message.


Parameters
sourceLes valeurs traitées sont TransportReceive ou TransportSend ou ServiceLevelReceiveRequest ou ServiceLevelSendReply.

◆ setMessageTime()

void Messages::setMessageTime ( std::string messagetime)
static

Stocke l'heure du message au format "14:31:17.975".


Parameters
messagetime: Un timestamp au format "2020-06-22T14:31:17.9755137+00:00".
See also
getCurrentMessageTime()

◆ setWsdl()

void Messages::setWsdl ( std::string wsdl)
static

Cette méthode mémorise le nom du WSDL. (Présent pour les messages de type REQUEST, uniquement).


Parameters
wsdl: URL du WSDL au format "http://00xdsvmam03200.paris.org/VEDA.SOA/Session.svc?wsdl"

The documentation for this class was generated from the following files:
  • E:/Sources/Repositories/VOR/TOOLS/SOAP-Message-Viewer/Sources/messages.h
  • E:/Sources/Repositories/VOR/TOOLS/SOAP-Message-Viewer/Sources/messages.cpp