2013-09-04 7 views
11

Wie kann ich dynamische WSDL, seine Operationen und Parameter verwenden, die in Programmkonfigurationsdatei angegeben ist?Verwenden Sie WSDL dynamisch in Delphi

Zum Beispiel haben wir eine Konfigurationsdatei:

[Section] 
WSDL=http://example.com/SomePub/ws/SomeService?wsdl 
Username=myuser 
Password=mypass 
OperationName=MyOperation 
ParameterName=MyParameter 

D.h. wir müssen den Web-Service benutzen, der unbekannt ist, aber (ini-file) nur zur Laufzeit gegeben wird. Daher können wir den WSDL-Import-Assistenten in Delphi nicht verwenden.

Können wir in Delphi ein solches Programm schreiben, das diese Einstellungen von der Konfiguration laden würde, und dann Daten an angegebene Operation in angegebenen Parameter auf Web-Service übergeben, die durch gegebene WSDL angegeben?

+1

Das Schöne an der statischen Verwendung ist, dass Sie die Kompilierungszeit Typ Sicherheit und Code-Vervollständigung in der IDE bekommen. In Ihrem Code werden Sie nie wissen müssen, wie Daten übertragen werden oder gar welche XML, denn alles ist sauber auf Delphi-Strukturen abgebildet. Hast du bestimmte Gründe, es dynamisch zu benutzen? –

+0

Ja, Wouter, ich muss. – vladon

+1

Wenn Sie das wirklich tun müssen, dann ist Delphi nicht das richtige Werkzeug für den Job, es wird einfacher sein, Ihr Ziel in JIT-Sprachen wie Java oder .NET zu erreichen. – whosrdaddy

Antwort

2

Mit SOAPUI importieren Sie den Dienst und führen einen Beispielaufruf durch. Kopieren Sie die rohe Anfrage und die rohe Antwort in den Notizblock. Ändern Sie die realen Daten mit "Tags" und fügen Sie jede Rohvorlage als Wert in Ihr INI ein. Wenn Sie den Aufruf ausführen müssen, öffnen Sie Ihr INI, greifen Sie auf die unformatierte Antwortvorlage zu und ersetzen Sie die Tags durch reale Werte. Senden Sie die SOAP-Anforderung manuell und parsen Sie die Antwort auf die gleiche Weise mithilfe der Raw-Vorlage.

0

Das Delphi-WSDL-Importprogramm und das Free Pascal-Webdienst-Toolkit bieten keine Möglichkeit, eine SOAP-Anfrage basierend auf einer WSDL dynamisch zu erstellen.

Das Web Service Toolkit (und das WSDL-Importprogramm) sind nur Quellcode-Generatoren, daher muss der Code zuerst kompiliert werden - dies erfordert einen Compiler für Ihre Anwendung.

Verwandte Themen