Web-Service-Client generieren und (Web Tools
Platform von Eclipse)
Als Beispiel zur Verwendung eines Standard-Werkzeuges wird im Folgenden die Generierung eines Web-Service-Client mit dem Web Tools Platform Plug-In von Eclipse beschrieben.

Weitere Informationen zur Web Tools Platform finden Sie unter der Internetadresse http://www.eclipse.org/webtools/main.php.
● Das Web Tools Platform (WTP) Plug-In ist installiert.
● WTP ist bereits konfiguriert.
Achten Sie insbesondere darauf, dass die Ziellaufzeit eingerichtet ist. Im Beispiel folgenden Beispiel wurde Apache Tomcat 5.5 als Ziellaufzeit verwendet. Weitere Informationen finden Sie in der Dokumentation zur Web Tools Platform.
Mit der folgenden Vorgehensweise erzeugen Sie einen Web-Service-Client für den Aufruf des Web-Service für einen Kommunikationspartner (CommunicationPartyService). Sie können die Vorgehensweise auf die anderen Web-Services übertragen.
Führen Sie folgende Schritte durch.
Rufen Sie die Web Tools Platform auf und legen Sie ein neues Projekt vom Typ Dynamic Web Project an.
...
1. Rufen Sie das Integration Repository auf.
2. Öffnen Sie die externe Definition CommunicationPartyService in der Software-Komponentenversion SAP BASIS 7.00 im Namensraum http://sap.com/xi/XI/System.
Klappen Sie hierzu im Navigationsbereich des Integration Builder den Knoten SAP BASIS → SAP BASIS 7.00 → http://sap.com/xi/XI/System → Interface-Objekte → Externe Definitionen auf.
3. Exportieren Sie die WSDL-Datei.
4. Wählen Sie hierzu im Objekteditor der externen Definition Werkzeuge → Originaldokument exportieren.
5. Importieren Sie anschließend die WSDL-Datei in ihr Projekt. Es wird empfohlen, dass Sie dafür in Ihrem Projekt einen eigenen Ordner anlegen.
Die WSDL-Datei aus dem Integration Repository enthält noch nicht alle Informationen, die zur Laufzeit benötigt werden. Mit den folgenden Schritten vervollständigen Sie die WSDL-Datei mit diesen Informationen.
Die folgenden Schritte führen Sie in Eclipse durch.
...
1. Definieren Sie zunächst das Binding für den HTTP-Zugriff.
a. Im Kontextmenü wählen Sie Add Binding und geben Sie einen Namen an (beispielsweise HTTPBinding).
b. Wählen Sie die Registerkarte Properties.
c. Im Feld PortType wählen Sie CommunicationPartyServiceVi_Document.
d. Wählen Sie Generate Binding Content.
e. Setzen Sie das Protokoll SOAP.
f. Unter SOAP Binding Options wählen Sie document literal.
g. Geben Sie als Binding Style an: document.
2. Definieren Sie den Service.
Wählen Sie hierzu im Kontextmenü Add Service und vergeben Sie einen Namen (beispielsweise HTTPService).
3. Definieren Sie für den Service einen neuen Service-Port (mit den Namen HTTPPort).
a. Wählen Sie als Binding in Schritt 1 erstellte Binding HTTPBinding.
b. Unter Address geben Sie die URL ihres Servers an.

Für den Web-Service CommunicationPartyService lautet die URL http://<host>:<port>/CommunicationPartyService/HTTPBasicAuth?style=document.
Damit der Web-Service-Client fehlerfrei generiert werden kann, müssen Sie folgende Einstellung vornehmen.
...
1. Wählen Sie im Menü Window → Preferences → Web Services.
2. Unter Axis Emitter geben Sie an: Wsdl2Java.
3. Markieren Sie Prefers building beans to straight arrays for wrapped XML array types.
Wenn Sie diesen Schritt auslassen, werden bei der Generierung für den Typ GenericPropertyTable zweidimensionale Arrays erzeugt.
Mit der unter 3 vervollständigten WSDL-Datei können Sie nun einen Web-Service-Client erzeugen.
...
1. Wählen Sie im Menü New → Web Services → Web Service Client.
2. Wählen Sie die importierte und vervollständigte WSDL-Datei und die Aktion Develop Client.
3. Wählen Sie Next und folgende Sie den Anweisungen des Wizards.
Bei Bedarf können Sie auf den nachfolgenden Dialogfenstern des Wizards den Zielordner anpassen und eine Abbildung zwischen dem Namensraum und dem Package-Namen für die Proxy-Datentypen angeben. Wir empfehlen für die Namensräume urn:com.sap.aii.ibdir.server.api.types und urn:com.sap.aii.ib.server.api.types eine Abbildung zu definieren, die für beide Namensräume auf dasselbe Package zeigt. Falls Sie keine Abbildung definieren, wird aus dem Namensraum ein Paketname generiert.
Als Ergebnis der Generierung entstehen mehrere Java-Klassen, die die einzelnen Datentypen repräsentieren, sowie Service- und Stub-Klassen, die für den Aufruf notwendig sind.
Um den Web-Service aus Eclipse heraus aufrufen zu können, legen Sie eine neue Java-Klasse mit einer main-Methode an.
Weitere Informationen finden Sie unter Code-Beispiel für Web-Service-Aufruf (Web Tools Platform von Eclipse).