Mit HTTP und SSL zugriff auf einen Webservice über Indy 10
Liste der Anhänge anzeigen (Anzahl: 1)
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. |
Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy
Weis niemand wie man so was realisieren kann?
würde mich über jeden Tipp bzw. Antwort sehr freun. |
Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy
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 |
Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy
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? |
Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy
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 ... |
Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy
Weis jemand wie man das Bsp. aus Visual Studio in Delphi verwenden kann?
|
Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy
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; |
Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy
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? |
Re: Mit HTTP und SSL zugriff auf einen Webservice über Indy
FQuery: TStringList;
FResponse: TStringList; FIdHTTP : TIdHTTP; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:09 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