Я создал базовую службу REST, которая работает, когда она вызывается через http-соединение. Но когда я пытаюсь добавить SSL поверх, у меня есть некоторые проблемы.Bind J2SE Конечная точка для HTTPS
Это код для создания сервера:
private HttpContext getHttpContext() {
HttpsServer server = null;
try {
server = HttpsServer.create(new InetSocketAddress("localhost", 443), 5);
server.setHttpsConfigurator(new HttpsConfigurator(SecureChatSslContextFactory.getServerContext()) {
public void configure(HttpsParameters params) {
SSLContext context = getSSLContext();
// get the default parameters
SSLParameters sslparams = context.getDefaultSSLParameters();
params.setSSLParameters(sslparams);
}
});
server.start();
return server.createContext("/customerservice/customer");
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
Endpoint e = Endpoint.create(HTTPBinding.HTTP_BINDING, new RestSourcePayloadProvider());
e.publish(getHttpContext());
Класс RestSourcePayloadProvide
г имеет ВЫЗОВ общественный метод, но он никогда не вызывается. Я полагаю, что причиной такого поведения является то, что привязка для конечной точки равна HTTPBinding.HTTP_BINDING
, а не HTTPS. Но мне не удалось найти способ привязки к https.
Если я запускаю тестовый клиент или браузер на link text я получаю тот же ответ:
500 Внутренняя ошибка сервера Нет обработчика для контекста