Delphi WebServices SOAP Attachment
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 (:cry:), 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. :oops: Quels composants utiliser ? Auriez-vous un exemple de code permettant de faire ceci ? :lol:
Voici le code d'envoi d'un requête au WebServer:
Code:
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; |
Merci d'avance pour vos réponses