HTTPS unter JAX-WS verwenden

  • Themenstarter Themenstarter dontPointAtme
  • Beginndatum Beginndatum
D

dontPointAtme

Gast
Hallo erstmal,
ich habe mich die letzten paar Tage mehr schlecht als recht in JAX-WS bzw Webservices generell eingelesen und ein kleines Beispielprogramm erstellt, es besteht zum einen aus einer Service Klasse (namens Server), die einen Webservice bereitstellt und zum anderen aus einer "Provider Klasse" die diesen Webservice per Endpoint.publish() published (siehe Unten). Per wsimport hab ich dann die Klassen für den Client erzeugen lassen, der per ServerService().getServerPort() eine verbindung zu dem Webservice aufbaut.

Wie konfiguriere ich diesen Aufbau jetzt so, dass die Verbindung zwischen Server und Client per SSL verschlüsselt wird?

Vielen Dank fürs durchlesen.

Hier noch die drei KLassen:
- der Provider
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.xml.ws.Endpoint;

public class Provider {
	
	public static void main(String args[]) {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		Server server = new Server();

		Endpoint endpoint = Endpoint.publish("http://172.22.3.117:8080/DummyServer", server);

		System.out.println("rennt");
		
	}
}


- der Service

Java:
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

@WebService
@SOAPBinding(style=Style.RPC)

public class Server  {

	
	//----------erster test---------
	@WebMethod
	public String getHalloWorldString(String name) {
	    return new String("Hallo World, hallo  "+name);
	 }
}

- der miniclient
Java:
public class Tester {

	public static void main(String[] args) {

		ServerService ss = new ServerService();
		Server sv = ss.getServerPort();
                System.out.println("Serverantwort " + sv.getHalloWorldString("ein netter user aus dem Java-forum"));
        }
}



____________________
i represent myselfe only
 
JAX-WS wie es im JRE vertrieben wird, kann nicht mit SSL betrieben werden. Zumindest in Java 6, keine Ahnung, ob sich mit der 7 was geändert hat...

Mit CXF geht es jedenfalls.
 
vielen Dank für die schnelle Antwort!

Wäre es möglich, obiges Projekt in ein WAR file zu packen und dieses einem Tomcat zu deployen und dann das SSL über den Tomcat "ausenrum" zu legen?
 
Das könnte gehen. JAX-WS über Tomcat ist allerdings nicht ganz so komfortabel. Bei der Referenzimplementierung gibt es eine Servlet-Bridge, über die man Web Services auch durch einen reinen Servlet-Container wie Tomcat publishen kann. Das wäre hier das Mittel der Wahl.
 
könntest du mir bitte grob sagen, wie das geht?
und welche Referenzimplementierung meinst du? Glasfish?
 
nach ca 4h googeln und lesen hab ich es immernochnicht geschaft besgtes projekt auf einen Tomcat zu kriegen....

kann mir bitte nochmal jemand helfen?


__________________
i represent myselfe only
 

Zurück
Oben