![]() |
Authentifizierung Webservice
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:
Ich bekomme keine Fehlermeldung bis dahin. Aber will ich dann auf irgendeine Funktion von Basis zugreifen:
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; "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 |
AW: Authentifizierung Webservice
Authentifizierung gibt es auf verschiedenen Ebenen.
1.) auf ![]() Das ist das, was du mit deinem Code versuchst 2.) auf SOAP-Ebene: im SOAP-Header und da wird dann ziemlich kompliziiiiiiiert Sieht so aus, als ob der Webservice ![]() |
AW: Authentifizierung Webservice
Hallo Shmia,
danke für Deine Antwort. Ich google schon seit Stunden nach einem Bsp. für Delphi und WS-Security. Ich komme einfach nicht weiter. Weißt Du ein gutes Bsp.? Danke, Sam |
AW: Authentifizierung Webservice
Da hast du dir wirklich etwas Superkompliziertes rausgesucht. :roll:
Du brauchst auf jeden Fall die Möglichkeit die Daten die über Netzwerk laufen mitzuschneiden. Entweder mit ![]() ![]() Du siehst dann den Datenverkehr. (Aber nur bei HTTP; bei HTTPS: siehst du nur verschlüsselte Daten) Dann wäre es gut wenn der Anbieter des Webservice dir ein funktionierendes Beispiel für eine SOAP-Message geben könnte. |
AW: Authentifizierung Webservice
Also es ist HTTPS :(
Ich weiß, wie der Header aussehen müsste, aber nicht, wie ich ihn im Delphi erzeugen und senden kann.
Code:
Lieben Gruß,
<SOAP-ENV:Header>
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <UsernameToken Id="UsernameToken-32278793"> <Username>xxx</Username> <Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">yyy</Password> </UsernameToken> </Security> </SOAP-ENV:Header> Sam |
AW: Authentifizierung Webservice
Hallo,
meine Webservices waren alle nur normale der Variante1. Ich hab das hier noch in den Favoriten, vielleicht hilft es Dir ja: ![]() ich würde dir auch empfehlen, mal hier ![]() Gruß Frank |
AW: Authentifizierung Webservice
Mit der Hilfe von Embarcadero bin ich erst mal am Login weiter. Ein netter Herr hat mir eine wsse.pas geschrieben, die genau meinen Header sendet.
Danke für Eure Hilfe. Sam |
AW: Authentifizierung Webservice
Hallo Samashy,
das freut mich das dir geholfen werden konnte. Ich habe leider das gleiche Problem wäre es möglich die Datei zu posten bzw. mir die EMail Adresse zukommen zu lassen von dem Embarcadero Mitarbeiter der dir weiterhelfen konnte - das wäre mir eine große Hilfe. Vielen Dank im bereits im Voraus. Mfg Strally |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz