WebService starten!

Saban

Erfahrenes Mitglied
Hallo Zusammen!

ich habe auf der Seite tutego.com eine Beschreibung gefunden wie man sich mit Java einen kleinen WebService schreiben kann. Hier erst mal der Code:
Java:
package ParamName;

import javax.jws.*;
import javax.jws.soap.SOAPBinding;

/* @WebService: Muss jeder WebService besitzen */
@WebService(name="SertacWebService")
/* @SOAPBinding: Stil der Nachrichten entweder Document oder RPC */
@SOAPBinding(style=SOAPBinding.Style.RPC)

public class MyWebService {
	/* @WebMethod: Macht eine Methode zur WebService Operation */
	@WebMethod
	public String hello(String name){
		return "Hello " + name + "!";
	}
	
	/* @WebMethod: Macht eine Methode zur WebService Operation */
	@WebMethod(operationName="body-mass-index")
	/* @WebResult: Definiert die Rückgabe eines WebServices genauer */
	@WebResult(name="your-bmi")
	/* @WebParam: Definiert die Parameter genauer (sonst wäre name == argx für den WebService) */
	public double bmi(@WebParam(name="height") double height, @WebParam(name="weight") double weight){
		return weight / (height * height) / 100 * 100;
	}
}

also so viel ich verstanden hab ist diese Klasse der eigentliche WebService

und

Java:
package ParamName;

import javax.swing.JOptionPane;
import javax.xml.ws.Endpoint;

public class PublishWsOnServer {
	public static void main(String [] args){
		Endpoint endpoint = Endpoint.publish(
				"http://localhost:8080/services", new MyWebService());
		
		JOptionPane.showMessageDialog(null, "Server beenden");
		
		endpoint.stop();
	}
}

und diese macht den WebService bekannt bzw veröffentlicht ihn...

Kann mir einer sagen ob ich richtig liege und was mir noch fehlt um diesen WebService auszuführen? Ich habe versucht dies mit TomCat zu realsieren es ging aber nicht. Ich habe versucht in Eclipse zu sagen "RunOnServer" aber da kommt immer nur ne Fehlermeldung in der 'Hier gibt es nichts was auf einem Server läuft' (oder so in der Art...)

MfG
Saban
 
Zuletzt bearbeitet von einem Moderator:
Kann mir jemand vllt sagen wie man die Shell in Eclipse aufruft?
Ich glaub ich hab da was gefunden... Den Befehl wsimport -keep...!
Ich hab leider nur keine Ahnung wie die Shell aufgerufen wird :(
 
Dein PublishOnWsServer IST ein Webserver. D.h. du musst den nicht mehr in einen Webserver tun. Es reicht also Run As -> Java Application.

Gruß
Ollie
 
Morgen!

Danke erst mal für die zahlreichen antworten!

Also auf der Seite http://www.theserverside.de/webservice-in-java/ steht

"... Bisher haben Sie die wichtigsten Informationen bekommen, um einen WebService-Dienst zu entwickeln. Für den programmatischen Zugriff auf diesen Dienst möchten wir jetzt aus der publizierten WSDL-Datei die benötigten Service-Klassen generieren, die wir für unseren Client benötigen. Rufen Sie dazu, im Source-Verzeichnis eines zweiten Java-Projekts, auf der Shell den folgenden Befehl auf:

wsimport -keep http://localhost:8080/calculator?wsdl"

ich habs über den Windows shell versucht und es hat nicht geklappt, da der Befehl wsimport nicht bekannt ist...

MfG
Saban
 
Führ das mal im bin Pfad deiner Javainstallation aus. Da sollte wsimport liegen. Oder du fügst den bin Pfad deiner PATH Umgebungsvariablen hinzu.

Gruß
Ollie
 
Hi!

//Edit:

Danke da klappts!
Jetzt kommt nur noch ne Fehlermeldung die ich mir mal kurz anschauen muss...

MfG
Saban
 
Zuletzt bearbeitet:
Jetzt klappt so weit alles! :)

Wenn ich den WebService starte dann kommt jedoch ne Fehlermeldung in der Console und zwar:

com.sun.xml.internal.ws.server.UnsupportedMediaException: Request doesnt hava a Content-Type

Habt ihr da vllt auch noch nen tip?

MfG
Saban
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück