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
| var
sl: TStrings;
Hdr: Security;
begin
Hdr := GetHeaderWS;
sl := TStringList.Create();
sl.Add('<?xml version="1.0"?>');
sl.Add('<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">');
sl.Add('<SOAP-ENV:Header>');
sl.Add('<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">');
sl.Add('<Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" Id="'+Hdr.Timestamp.Id+'">');
sl.Add('<Created>'+Hdr.Timestamp.Created.NativeToXS+'</Created>');
sl.Add('<Expires>'+Hdr.Timestamp.Expires.NativeToXS+'</Expires>');
sl.Add('</Timestamp>');
sl.Add('<UsernameToken Id="'+Hdr.UsernameToken.Id+'3">');
sl.Add('<Username>'+Hdr.UsernameToken.Username+'</Username>');
sl.Add('<Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">'+Hdr.UsernameToken.Password.Text+'</Password>');
sl.Add('<Nonce>'+Hdr.UsernameToken.Nonce+'</Nonce>');
sl.Add('<Created xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">'+Hdr.UsernameToken.Created.NativeToXS+'</Created>');
sl.Add('</UsernameToken>');
sl.Add('</Security>');
sl.Add('</SOAP-ENV:Header>');
sl.Add('<SOAP-ENV:Body>');
...
sl.Add('</SOAP-ENV:Body>');
sl.Add('</SOAP-ENV:Envelope>');
IdHTTP1.Request.ContentType := 'text/xml';
try
Memo1.Text := IdHTTP1.Post('http://127.0.0.1:9082/gestionRessources/administration.wsdl',TStringStream.Create(sl.Text));
except
on err: Exception do ShowMessage('Une erreur s''est produite :'+err.Message);
end; |
Partager