Bonjour,
Actuellement j'ai développé un client utilisant les Web Services via SOAP. Ce client envoie des requêtes vers un serveur Web dont je ne suis pas le développeur.
Ayant rencontré pas mal de soucis de différences entre la structure des informations renvoyés par le Serveur et celles définies dans mon client (), j'aimerais logger le message de réponse (SOAP Attachment) retournée par le serveur suite à ma requête.
Je ne vois pas du tout comment réaliser cela de manière simple et efficace.Quels composants utiliser ? Auriez-vous un exemple de code permettant de faire ceci ?
Voici le code d'envoi d'un requête au WebServer:
Merci d'avance pour vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 function GetIngestWS_PortType(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): IngestWS_PortType; const defWSDL = 'F:\WSDL\scIngest.wsdl IngestWS.xml'; defURL = 'http://XXX.XXX.X.XX:5555/ws/scIngest.wsdl:IngestWS'; defSvc = 'IngestWS'; defPrt = 'scIngest_wsdl_IngestWS_Port'; var RIO: THTTPRIO; begin Result := nil; if (Addr = '') then begin if UseWSDL then Addr := defWSDL else Addr := defURL; end; if HTTPRIO = nil then begin RIO := THTTPRIO.Create(nil); RIO.HTTPWebNode.UserName := FormManageActionServer.INI_SERVER_USER; RIO.HTTPWebNode.Password := FormManageActionServer.INI_SERVER_PWD; end else begin RIO := HTTPRIO; end; try Result := (RIO as IngestWS_PortType); if UseWSDL then begin RIO.WSDLLocation := Addr; RIO.Service := defSvc; RIO.Port := defPrt; end else RIO.URL := Addr; finally if (Result = nil) and (HTTPRIO = nil) then RIO.Free; end; end;
Partager