Java: …und in weiteren 20 Sekunden einen Web Service veröffentlichen/bereitstellen ohne Applikationserver!

Web ServiceSeit Java 6 gibt es die Möglichkeit, selbst geschriebene Web Service – Klassen ohne Applikationserver und/oder Includes bereitzustellen. Hierzu wird die Endpoint-Klasse aus dem Package javax.xml.ws verwendet. Als Ausgangspunkt nehme ich den Rechteck-Web Service aus dem vorherigen Beitrag.

 

 

 

 

Die Server-Klasse

Unter dem neuen Package „Server“ habe ich mir eine einfache Java-Klasse namens „Server“ generieren lassen. Diese besitzt nur die Standard-Methode „public static void main(String[] args)„.

package server;

import javax.xml.ws.Endpoint;

import main.RechteckService;

public class Server {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//http://localhost:9202/rechteck/RechteckWebService?wsdl
		Endpoint.publish("http://localhost:9202/rechteck", new RechteckService());		
		System.out.println("AxxG-RechteckWebService-Server ready!");

	}

}

 

Server starten – unter Eclipse

Um die Klasse auszuführen, klicke ich mit der rechten Maustaste auf die Klasse. Unter dem Menüpunkt „Run As„, wähle ich den Eintrag „Java Application“ aus.

 

Fehlermeldungen

Folgende Fehlermeldungen können aufgrund der nicht vorhandenen Schnittstellenklassen auftreten:

18.07.2012 13:04:16 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass INFO: Dynamically creating request wrapper Class main.jaxws.BerechneUmfang
18.07.2012 13:04:16 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass INFO: Dynamically creating response wrapper bean Class main.jaxws.BerechneUmfangResponse
18.07.2012 13:04:16 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass INFO: Dynamically creating request wrapper Class main.jaxws.BerechneInhalt
18.07.2012 13:04:16 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass INFO: Dynamically creating response wrapper bean Class main.jaxws.BerechneInhaltResponse

Klartext: Java generiert für Sie die fehlenden Klassen und führt den Web Service aus.

 

Beispiel

[download id=“8″ format=“2″]

 

Copyright © 2011 AxxG – Alexander Gräsel




Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.