|
8. Beispiel für die Suche eines Web Servicesper UDDI,
die Untersuchung der Schnittstelle per WSDL
und die Benutzung per SOAP
Für eine in einem Programm benötigte Währungsumrechnungsoll ein Web Service gefunden werden, um die jederzeitaktuellen Umrechnungskurse (Exchange Currency Conversion Rate) programmgesteuert automatisch im Hintergrund zu
ermitteln.
- Wählen Sie einen UDDI-Registry-Server, zum
Beispiel "https://uddi.ibm.com/ubr/registry.html".
- Wählen Sie in der linken Menüleiste "Find".
- Unter "Search For a ..." wählen Sie
"Technical Model".
- Unter "Starting with ..." tragen Sie
"%Currency%" ein und klicken auf die Schaltfläche
"Find".
- In der Trefferliste wählen Sie das "Technical
Model" "currency
converter" mit der "Overview URL"
"http://www.webservicex.net/CurrencyConvertor.asmx?wsdl",
welche die WSDL-Datei spezifiziert.
- Um zu überprüfen, ob der Web Service den Erwartungen
entspricht, wird die URL der WSDL-Datei an ein Generic-SOAP-Client-Tool
übergeben. Dieses Tool ermittelt anhand der WSDL-Datei
die Schnittstellenspezifikation und erzeugt automatisch
ein passendes Eingabeformular, worüber der Web Service
getestet werden kann.
- Ein solches Generic-SOAP-Client-Tool bietet zum
Beispiel "http://www.soapclient.com/SoapTest.html"
online im Internet. Geben Sie dort als "WSDL File
Address" "http://www.webservicex.net/CurrencyConvertor.asmx?wsdl"
ein und betätigen Sie die Schaltfläche
"Retrieve".
- Sie erhalten eine neue Webseite mit dem Titel
"CurrencyConvertor, Get conversion rate from one
currency to another currency". Wenn Sie darin etwas
tiefer scrollen, finden Sie aufklappbare Listboxen zur
Auswahl der Start- und Zielwährungen. Wählen Sie zum
Beispiel unter "FromCurrency" "EUR"
und unter "ToCurrency" "USD" und betätigen
Sie die "Invoke"-Schaltfläche, um eine SOAP-Anfrage
auszuführen.
- Sie können unter "Show" wählen, ob Sie die
als "Request" abgesendete oder als
"Response" empfangene XML-Datei ansehen möchten.
Sie können auch unter "Format" auf
"HTML" (statt "XML") umschalten,
dann sehen Sie keine XML-Datei, sondern nur den
extrahierten Ergebniswert.
- Um den SOAP-Dienst in Ihrem Programm zu nutzen, können
Sie die benötigte Parametrisierung der WSDL-Datei
entnehmen und eine entsprechende Methode programmieren,
ähnlich wie es zum Beispiel für Java in dem einfachen
allgemeinen SOAP-Client gezeigt wurde.
- Bei komplizierteren SOAP-Diensten würde diese
Vorgehensweise allerdings viel Fleißarbeit erfordern.
Universeller und flexibler ist es, wenn Sie aus der
WSDL-Datei automatisch den Sourcecode eines Proxy-Stubs
erzeugen lassen, wie es zum Beispiel für Java für die
Apache-AXIS-Tools unter WSDL-Datei
auswerten erläutert wird, und diesen in Ihr
Programm einbinden.
Mit den Apache-AXIS-Tools erhalten Sie mit der
Kommandozeile
java -cp "%WSTK_CP%"
org.apache.axis.wsdl.WSDL2Java
https://www.webservicex.net/CurrencyConvertor.asmx?wsdl
|
die Java-Klasse "class
CurrencyConvertorSoapStub", welche die
Java-Methode "double conversionRate(
fromCurrency, toCurrency )" enthält, worüber
die Währungsumrechnung leicht von Java aus durchgeführt
werden kann.
Hier im Beispiel wurden viele Schritte zur Demonstration
per Webbrowser durchgeführt. Sie können aber alle auch
rein elektronisch programmgesteuert automatisiert werden.
|
|
|