AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Authentifizierung Webservice
Thema durchsuchen
Ansicht
Themen-Optionen

Authentifizierung Webservice

Ein Thema von Samashy · begonnen am 29. Sep 2010 · letzter Beitrag vom 12. Okt 2010
Antwort Antwort
Benutzerbild von Samashy
Samashy

Registriert seit: 20. Feb 2004
Ort: Cottbus
127 Beiträge
 
Delphi 10.4 Sydney
 
#1

Authentifizierung Webservice

  Alt 29. Sep 2010, 16:05
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
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: Authentifizierung Webservice

  Alt 29. Sep 2010, 17:43
Authentifizierung gibt es auf verschiedenen Ebenen.
1.) auf HTTP-Ebene (in den Headerzeilen werden User & Passwort gesendet)
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 WS-Security erwartet.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Samashy
Samashy

Registriert seit: 20. Feb 2004
Ort: Cottbus
127 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Authentifizierung Webservice

  Alt 30. Sep 2010, 11:29
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
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

AW: Authentifizierung Webservice

  Alt 30. Sep 2010, 18:01
Da hast du dir wirklich etwas Superkompliziertes rausgesucht.
Du brauchst auf jeden Fall die Möglichkeit die Daten die über Netzwerk laufen mitzuschneiden.
Entweder mit WireShark (nur empfehlenswert wenn du damit umgehen kannst) den Netzverkehr aufzeichnen oder z.B. das Programm TCPtrace dazwischenschalten.

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.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Samashy
Samashy

Registriert seit: 20. Feb 2004
Ort: Cottbus
127 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Authentifizierung Webservice

  Alt 4. Okt 2010, 10:06
Also es ist HTTPS

Ich weiß, wie der Header aussehen müsste, aber nicht, wie ich ihn im Delphi erzeugen und senden kann.
Code:
<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>
Lieben Gruß,
Sam
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Authentifizierung Webservice

  Alt 4. Okt 2010, 19:37
Hallo,

meine Webservices waren alle nur normale der Variante1.

Ich hab das hier noch in den Favoriten, vielleicht hilft es Dir ja:
https://forums.codegear.com/thread.j...ssageID=161775

ich würde dir auch empfehlen, mal hier https://forums.codegear.com/forum.jspa?forumID=73 auch danach zu suchen.

Gruß Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Benutzerbild von Samashy
Samashy

Registriert seit: 20. Feb 2004
Ort: Cottbus
127 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Authentifizierung Webservice

  Alt 11. Okt 2010, 16:03
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
  Mit Zitat antworten Zitat
Strally

Registriert seit: 26. Aug 2010
20 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Authentifizierung Webservice

  Alt 12. Okt 2010, 08:53
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz