Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Grundlagen zu WebService / SOAP (https://www.delphipraxis.net/167407-grundlagen-zu-webservice-soap.html)

EmWieMichael 28. Mär 2012 13:43

Grundlagen zu WebService / SOAP
 
Hallo zusammen!
Ich habe mich gerade hier im Forum angemeldet und falle auch schon mit einer Frage zum Thema WebService in´s Haus.

Ich muss einen WebService-Client erstellen: der Service umfasst mehr als 30 Funktionen, die aus der WSDL-Datei erstellte Unit hat einen Umfang von über 13.000 Zeilen (:shock:) und sonst wohl auch so Einiges, was einem das Leben schwerer macht (z. B. zig Klassen mit dynamischen Arrays).

Nun muss ich zugeben, dass ich von der Thematik WebService/SOAP/XML maximal über gesundes Halbwissen verfüge. Mein Problem stellt sich nun wie folgt dar:
Mein Programm verfügt bereits über die Funktionalität, sämtliche an den WebService zu übertragenden XML-Daten zu erstellen bzw. die vom WebService gelieferten XML-Antworten zu parsen und entsprechend zu verarbeiten. Die brennende Frage lautet jetzt: Wofür brauche ich eigentlich noch die aus der WSDL erstellte Unit? Gibt es nicht auch eine Möglichkeit, meine 'fertigen' XML-Daten an den Server zu schicken und die Antwort direkt als XML-Text zu erhalten? Vielleicht mit Sockets?

Vielleicht hat von Euch schonmal jemand soetwas realisiert und kann mich auf die richtige Spur bringen?

Gruß Michael


PS: Ich arbeite mit Delphi 2010.

shmia 28. Mär 2012 15:27

AW: Grundlagen zu WebService / SOAP
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von EmWieMichael (Beitrag 1159073)
Mein Programm verfügt bereits über die Funktionalität, sämtliche an den WebService zu übertragenden XML-Daten zu erstellen bzw. die vom WebService gelieferten XML-Antworten zu parsen und entsprechend zu verarbeiten.

Dann kannst du natürlich die Kommunikation über HTTP oder HTTPS selbst vornehmen.
Was dir möglicherweise noch fehlt ist das SOAP-Envelope.
Zitat:

Zitat von EmWieMichael (Beitrag 1159073)
Die brennende Frage lautet jetzt: Wofür brauche ich eigentlich noch die aus der WSDL erstellte Unit?

Das soll dir helfen einen SOAP Service zu nutzen ohne mit den internen Details in Berührung zu kommen.
Allerdings ist SOAP nicht "Simple" sondern ein Ding mit Haken und Ösen.

Zitat:

Zitat von EmWieMichael (Beitrag 1159073)
Gibt es nicht auch eine Möglichkeit, meine 'fertigen' XML-Daten an den Server zu schicken und die Antwort direkt als XML-Text zu erhalten? Vielleicht mit Sockets?

Sockets sind zu Low-Level; da fehlt die gesamte Behandlung der Protokolle HTTP und HTTPS.
Mit dem Interface IXMLHTTPRequest kannst du die Daten senden und empfangen ohne in die Tiefe von HTTP gehen zu müssen. (auch Proxyserver werden unterstützt, das ist sehr wichtig für Firmen-LANs)
Ein Beispiel (allerdings ohne direkten Bezug zu SOAP) ist im Anhang.

EmWieMichael 29. Mär 2012 13:03

AW: Grundlagen zu WebService / SOAP
 
Hallo Andreas,

vielen Dank für Dein Posting!
Nachdem ich jetzt etwas mit der 'WSDL-Unit' experimentiert habe, bin ich mir ziemlich sicher, dass die Geschichte (für mich) reichlich umständlich ist. Daher werde ich mich jetzt mit der Alternative beschäftigen. Der Hinweis auf IXMLHTTPRequest und das Programmbeispiel sind genau die richtigen Anschubser für mich...:thumb:

Gruß Michael


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 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