Hoi,
ich hoffe ich hab den Thread im richtigen Bereich erstellt und dass es noch ein Anfängerproblem ist. Und zwar habe ich das Problem, dass ich einen Webservice geschrieben habe, der unter HTTP auch einwandfrei funktioniert hat (es liegt also nicht am Service selbst). Nun wollte ich das ganze dann auf HTTPS umstellen und irgendwie bekomme ich ihn nicht zum laufen. Der Compiler gibt keine Fehler und er läuft auch ganz normal durch.
Folgenden Code verwende ich für die Initialisierung des Servers:
Versuche ich jetzt über die URL https://127.0.0.1:8080/webservice?wsdl an die WSDL zu gelangen um daraus die entsprechenden Klassen für den Service zu generieren, dann bekomme ich folgende Fehlermeldung:
Jemand eine Idee, was ich da falsch mache und wie ich an die Daten komme? Ich hab so etwas noch nie gemacht und in der Ausbildung spielte Netzwerkkommunikation nie eine Rolle.
Viele Grüße
Maliko
ich hoffe ich hab den Thread im richtigen Bereich erstellt und dass es noch ein Anfängerproblem ist. Und zwar habe ich das Problem, dass ich einen Webservice geschrieben habe, der unter HTTP auch einwandfrei funktioniert hat (es liegt also nicht am Service selbst). Nun wollte ich das ganze dann auf HTTPS umstellen und irgendwie bekomme ich ihn nicht zum laufen. Der Compiler gibt keine Fehler und er läuft auch ganz normal durch.
Folgenden Code verwende ich für die Initialisierung des Servers:
Java:
System.out.println("Server is starting");
ExecutorService executor = Executors.newFixedThreadPool(5);
Endpoint endpoint = Endpoint.create(new Webservice());
InetSocketAddress address = new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 8080);
HttpsServer server = HttpsServer.create(address, 0);
SSLContext ssl = SSLContext.getInstance("TLS");
char[] password = "123456".toCharArray();
KeyStore store = KeyStore.getInstance("JKS");
FileInputStream input = new FileInputStream(System.getProperty("user.dir") + "\\lib\\security\\localhost.jks");
store.load(input, password);
KeyManagerFactory keyManager = KeyManagerFactory.getInstance("SunX509");
keyManager.init(store, password);
TrustManagerFactory trustManager = TrustManagerFactory.getInstance("SunX509");
trustManager.init(store);
ssl.init(keyManager.getKeyManagers(), trustManager.getTrustManagers(), null);
server.setHttpsConfigurator(new HttpsConfigurator(ssl) {
@Override
public void configure(HttpsParameters params) {
try {
SSLContext context = SSLContext.getDefault();
SSLEngine engine = context.createSSLEngine();
params.setNeedClientAuth(false);
params.setCipherSuites(engine.getEnabledCipherSuites());
params.setProtocols(engine.getEnabledProtocols());
params.setSSLParameters(context.getDefaultSSLParameters());
} catch (Exception e) {
}
}
});
HttpContext context = server.createContext("/webservice");
server.start();
endpoint.setExecutor(executor);
endpoint.publish(context);
System.out.println("Server is listening on https://127.0.0.1:8080/webservice");
System.out.println("Server is running");
Versuche ich jetzt über die URL https://127.0.0.1:8080/webservice?wsdl an die WSDL zu gelangen um daraus die entsprechenden Klassen für den Service zu generieren, dann bekomme ich folgende Fehlermeldung:
Problem with downloading wsdl or schema file.
Check the URL, proxy settings or whether the server is running.
URL: https://127.0.0.1:8080/webservice?wsdl.
Jemand eine Idee, was ich da falsch mache und wie ich an die Daten komme? Ich hab so etwas noch nie gemacht und in der Ausbildung spielte Netzwerkkommunikation nie eine Rolle.
Viele Grüße
Maliko