Ich habe eine Maschine mit einer in Delphi 6 erstellten
GUI, die ziemlich komplex und umfangreich ist. Diese Maschine soll jetzt über einen Webservice bestimmten Daten erhalten. D.h. ich muss den Webservice in das vorhandene Delphi 6 Projekt implementieren. Da mir dies aber nicht gelungen ist habe ich es mit Delphi 2010 versucht und war erfolgreich.
Alles was ich vom Kunden habe ist das
WSDL-Dokument.
XML-Parser usw. kenne ich mich nicht wirklich aus.
Viele Grüße
Sebastian
Mal anders gefragt, weißt du was ein Webservice (insbesondere einer der auf
SOAP basiert) ist und wie auch die Kommunikation zu einen Webservice erfolgt? Du musst in Delphi keine
WSDL importieren oder irgendwelche Klassen erzeugen um einen Webservice zu nutzen. Delphi erstellt basierend auf der
WSDL einfach nur eine Abstraktionsschicht zum Webservice, weil es (wenn es klappt) komfortabler ist, mehr steckt nicht dahinter. Die Methoden und ihre Parameter werden einfach ins
XML serialisiert(das siehst man schön bei SoapUI) und via http verschickt. Du könntest sogar einfach mit cURL eine Anfrage an den Webservice schicken, kurz alles was über http kommunizieren kann, kann auch den Webservice nutzen.
Wenn es dir jetzt also nur um paar Methoden geht, dann kannst du wie gesagt es einfach nativ über Delphi 6 verschicken, bzw. dir das
Indy Package installieren. Ist dein Webservice jedoch sehr umfangreich und enthält stark verschachtelte Typen, kannst du dich natürlich selber darum kümmern die Anfragen/Antworten automatisch ins
XML umzuwandeln oder du kaufst dir die Funktionalität ein (z.B.
http://www.clevercomponents.com/products/inetsuite/ die decken auch große Teile des WS-* Stacks ab). Du könntest auch eine eigene DDL verwenden, bedenke jedoch das die mit der Größe/Komplexität des Webservices skaliert.