AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Mit HTTP und SSL zugriff auf einen Webservice über Indy 10
Thema durchsuchen
Ansicht
Themen-Optionen

Mit HTTP und SSL zugriff auf einen Webservice über Indy 10

Ein Thema von niko022 · begonnen am 29. Jul 2008 · letzter Beitrag vom 30. Jul 2008
Antwort Antwort
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#1

Mit HTTP und SSL zugriff auf einen Webservice über Indy 10

  Alt 29. Jul 2008, 15:15
Hallo

ich hätte eine Frage bzgl. einer HTTP/SSL Verbindung zu einem Webservice. Ich verwende Delphi 7 und
habe durch recherche herausgefunden das solchen Dinge ganz gut mit den Indy Komponenten zu handeln
sind.

Ich müßte laut der Beschreibung von dem Webservice eine Anfrage in Form einer XML Datei an den
Server (Webservice) senden mit Hilfe von HTTP und SSL und würde dann als Antwort eine XML Datei mit
den gewünschten Daten zurück bekommen.

Habe mir dann die neueste Version von Indy heruntergeladen und installiert (Indy 10). Danach habe ich
versucht mich ein wenig mit den Indy Komponenten vertraut zu machen und rumgespielt.

Habe dazu einen kleinen Bespiel mit einem Server (IdTCPServer) und Client (IdTCPClient) erstellt.
Beim drücken eines Buttons im Client baut er eine Verbindung zu der Server Komponente auf und
übermittelt dort einen String in ein Memo Feld.

Das kleine Bsp. funktioniert soweit ganz gut. Jetzt habe ich weiter recherchiert und versucht hier im
Forum bzw. im www herauszubekommen wie man das ganze lösen kann bzw. was für Komponenten von Indy 10
benötigt werden. Bin aber irgendwie nicht schlüssig geworden wie das funktionieren soll.

Habe dann aber auf mehreren Seiten irgendwas entdeckt die was mit einer Komponenten Namens
IdConnectionInterceptOpenSSL gemacht haben. Diese sollte sich unter Indy I/O befinden, aber leider
bei Indy 10 nicht.

Bei mir gibt es unter Indy 10 nur =>IdIOHandlerStack, IdServerIOHandlerStack,
IdServerIOHandlerSSLOpenSSL, IdSSLIOHandlerSocketOpenSSL

Meine Frage geht das mit Indy 10 einen Webservice in dieser Art anzusprechen und wenn ja wie geht es?
Habe auch schon in ein paar Beiträgen gelesen das Indy 10 nicht so stabil laufen soll und noch einige
Bugs hat. Habe hier aus dem Forum von einem Kollegen den Link für Indy 9 bekommen. Eignet sich Indy 9
evtl. besser zum lösen dieses Problems.

Bin über jede Hilfe dankbar.
Miniaturansicht angehängter Grafiken
httppost_response_110.jpg  
  Mit Zitat antworten Zitat
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#2

Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy

  Alt 30. Jul 2008, 07:41
Weis niemand wie man so was realisieren kann?

würde mich über jeden Tipp bzw. Antwort sehr freun.
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#3

Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy

  Alt 30. Jul 2008, 08:13
also wenn ich dich richtig verstehe dann meinst du mit webservices einen HTTP-server oder?
außerdem willst du ssl verwenden also HTTPS.

Dann nimm doch die idHTTP und verwenden als IOHandler einen SSL fähigen.
Damit müsste es theoretisch funktionieren (nicht getestet nur vermutet)

Viel Glück
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#4

Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy

  Alt 30. Jul 2008, 09:26
Vielen Dank erstmal für die Antwort.

ja stimmt. Ich muß einen Webserver ansprechen und soll Ihm eine XML Datei übermitteln.

z.b. https://SERVER/WEBSERVICE

Nach der übermittlung der XML Datei soll er eine Antwort auch wieder im XML Format zurückliefern.

Gibt es irgendwo ein Bsp. zu dem beschriebenen Aufbau?
  Mit Zitat antworten Zitat
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#5

Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy

  Alt 30. Jul 2008, 09:33
Ein Bsp. Code den ich gefunden habe (Visual Studio).
Code:
...

' create the object that manages the communication
Dim oXMLHttp As XMLHTTP
Set oXMLHttp = New XMLHTTP

' prepare the HTTP POST request
oXMLHttp.open "POST", "https://www.server.com/path", False
oXMLHttp.setRequestHeader "Content-Type", _

"application/x-www-form-urlencoded"
' send the request
oXMLHttp.send requestString

' server's response will be available in oXMLHttp.responseXML
oXMLHttp.responseXML

...
  Mit Zitat antworten Zitat
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#6

Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy

  Alt 30. Jul 2008, 10:43
Weis jemand wie man das Bsp. aus Visual Studio in Delphi verwenden kann?
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy

  Alt 30. Jul 2008, 12:00
Das ist doch ganz einfach

Delphi-Quellcode:
var
   Stream   : TStream;
   Buffer   : String;
begin
   FQuery.Clear;
   FResponse.Clear;
   FQuery.Add('<?xml version="1.0" encoding="UTF-8"?>');
   FQuery.Add('REST XML');
   Stream:=TMemoryStream.Create;
   try
      FQuery.SaveToStream(Stream);
      Buffer:=FURL+'/'+FKomponente+'/'+FFunktion+'?format=xml';
      Stream.Position:=0;
      try
         FResponse.Text:=FIdHTTP.Post(Buffer,Stream);
      except

      End;
   finally
      Stream.Free;
   End;
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
niko022

Registriert seit: 2. Okt 2007
46 Beiträge
 
#8

Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy

  Alt 30. Jul 2008, 12:29
Vielen Dank erstmal.

was für Objecte sind FResponse, FIdHTTP? Funktioniert das alles mit https?
Gibt es eine Get Methode für das Empfangen der Rückantwort vom Server?
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy

  Alt 30. Jul 2008, 14:13
FQuery: TStringList;
FResponse: TStringList;
FIdHTTP : TIdHTTP;
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  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 10:49 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