Mit Spring und Axis ist es sehr einfach, einen Client für einen Webservice zu erstellen, indem man einfach Zugriff auf eine WSDL-Datei hat. Ich habe bei einem unserer Kunden eine entsprechende Lösung implementiert. Auf dieser Grundlage habe ich ein Beispiel mit der Google Web-API erstellt.
In diesem Beispiel werden wir unser eigenes Client-Jar mit Axis generieren und Spring verwenden, um einen Proxy für den WebService in unsere Anwendung zu integrieren. Beachten Sie, dass wir nicht das SDK verwenden, das von Google für seine Web-API bereitgestellt wird. Dieses SDK bietet jedoch einen guten Ausgangspunkt für die weitere Entwicklung mit der Google Web-API, so dass sich ein Blick darauf lohnt.
Zunächst einmal finden Sie die WSDL-Datei unter https://api.google.com/GoogleSearch.wsdl, die die Grundlage für unseren neuen Client bildet. Mit Hilfe dieser Datei können wir mit WSDL2Java von Axis eine Client-Jar-Datei erstellen. Obwohl dies technisch nicht erforderlich ist, verschafft es uns einen Vorsprung. Es ist durchaus möglich, sowohl die Java-Schnittstelle zum Webservice als auch seine Rückgabeobjekte von Hand zu programmieren. Das Client-Jar kann mit den folgenden Ant-Tasks erstellt werden.
Mit diesen Ant-Tasks wird ein neues Jar mit dem Namen google-ws.jar erstellt. Dieses jar kann in den Klassenpfad Ihrer Anwendung aufgenommen werden. Aber anstatt den GoogleServiceLocator und andere generierte Klassen zu verwenden, werden wir den WebService mit Spring in einen Client-Dienst in unserer Anwendung injizieren. In Spring tun wir dies, indem wir die folgende Bean-Definition zu unserer Datei applicationContext.xml hinzufügen.
com.google.search.webservice.GoogleSearchPort
https://api.google.com/GoogleSearch.wsdl
urn:GoogleSearch
GoogleSearchService
GoogleSearchPort
Diese Bean-Definition erzeugt einen neuen dynamischen Proxy, der das angegebene "serviceInterface" (in diesem Fall aus unserem Client-Jar) implementiert und in Ihre eigenen Beans in Ihrer Anwendung injiziert werden kann. Dieser Proxy kümmert sich um den gesamten Ablauf und die SOAP-Aufrufe. Beachten Sie, welche Teile der WSDL-Datei auf welche Eigenschaften in der Bean-Definition abgebildet werden. Um die Google Web-API zu verwenden, müssen Sie einen Lizenzschlüssel von Google anfordern. Das Verfahren zur Beantragung eines solchen Schlüssels finden Sie unter https://api.google.com.
Viel Spaß beim Stöbern im Internet!Verfasst von

Jeroen van Erp
Contact
Let’s discuss how we can support your journey.



