Hallo Ihr Lieben,
ich verzweifel an der Authentifizierung an einem Webservice.
Code:
private
{ Private-Deklarationen }
Rio : THttpRio;
Code:
procedure TForm1.HTTPRIO1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp;
Data: Pointer);
var TimeOut : integer;
begin
TimeOut := 2000; // in milleseconds.
if not InternetSetOption(Data,
INTERNET_OPTION_RECEIVE_TIMEOUT,
Pointer(@TimeOut),
SizeOf(TimeOut)) then
ShowMessage(SysErrorMessage(GetLastError));
if not InternetSetOption(Data,
INTERNET_OPTION_USERNAME,
PChar(rio.HTTPWebNode.UserName),
Length(rio.HTTPWebNode.UserName)) then
ShowMessage(SysErrorMessage(GetLastError));
if not InternetSetOption(Data,
INTERNET_OPTION_PASSWORD,
PChar(rio.HTTPWebNode.Password),
Length (rio.HTTPWebNode.Password)) then
ShowMessage(SysErrorMessage(GetLastError));
end;
Code:
procedure TForm1.Button5Click(Sender: TObject);
var basis :ist der Webservice;
begin
if not Assigned(rio) then
begin
rio := THTTPRIO.Create(self);
rio.HTTPWebNode.UserName := '123';
rio.HTTPWebNode.Password := 'blablah';
rio.HTTPWebNode.OnBeforePost := self.HTTPRIO1HTTPWebNode1BeforePost;
end;
// Create Web Service IDispatch interface with additional params here:
if not assigned(basis) then
begin
basis:=GetBase(false, '', rio);
end;
end;
Ich bekomme keine Fehlermeldung bis dahin. Aber will ich dann auf irgendeine Funktion von Basis zugreifen:
"This service requires <wss:Security>, which is missing."
Also scheint meine Anmeldung ja doch nicht funktioniert zu haben. Mein Username und mein Passwort sind korrekt, das konnte ich am Endpunkt testen.
Sieht jemand, wo mein Fehler liegt?
Lieben Gruß,
Sam