Apache Axis


Inhaltsverzeichnis



Einbinden der SWIWS Bibliothek

Server stoppen
Wenn der Tomcat-Server läuft, diesen stoppen:
$tomcat-verzeichnis/bin> ./shutdown.sh


Kopieren der SWIWS Bibliothek
Die Bibliothek swiws.jar aus dem Repository in das bestehende Verzeichnis '$CATALINA_HOME/webapps/axis/WEB_INF/lib' des Tomcat-Servers, kopieren.


Implementierung der Webservices

Nach dem Kopieren der SWIWS-Bibliothek, die alle notwendigen Stubs und Skeletons enthält, muss nun der eigentliche Webservice implementiert werden. Dieser liegt bereits vordefiniert im jeweiligen Paket im Repository bereit. Es sind lediglich die bereits definierten Methoden der Webserviceklasse zu implementieren.

Die Webserviceklasse ist in das Paket des jeweiligen Moduls zu integrieren. Dieses Paket muss dann ebenfalls in das bestehende Verzeichnis '$CATALINA_HOME/webapps/axis/WEB_INF/lib' des Tomcat-Servers, kopiert werden.


Tomcat erneut starten
Befehl:
$tomcat-verzeichnis/bin> ./startup.sh


Deployment der Webservices

Zum Bereitstellen der Dienste auf dem Server muss für den jeweiligen Dienst die jeweilige WSDD-Datei (Web Service Deployment Descriptor) aufgerufen werden. Diese WSDD-Dateien wurden ebenfalls durch das WSDL2Java Werkzeug erzeugt und im Repository abgelegt.

Deployment-Befehl:
> java org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd

Undeployment-Befehl:
> java org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService undeploy.wsdd
(Beachten Sie, dass die Portangabe des Tomcat-Servers abweichen kann.)


Beispiel Clients

Erstellung eines eigenen Clients
Für jeden Webservice wurde ein Beispielclient im Repository abgelegt. Folgender Code dient dem Aufruf des entfernten Webservices. Der Methodenname wurde in der WSDL-Datei festgelegt.

         
        public class DialogClient {
	       
	     ...
	     // Make a service
	     SemanticMediatorService mediatorService = new SemanticMediatorServiceLocator();

	     // use the service to get a stub
	     SemanticMediator mediatorPort = mediatorService.getSemanticMediator(new URL(SW_MEDIATOR_URL));
	     
	     // call service
	     String response = mediatorPort.request(query);
	      ...
	 }
    


Verwendung der Dienste
Mit dem Aufruf des Clients aus dem lokalen Verzeichnis kann dann jetzt der Dienst verwendet werden.