Я создал базовую службу REST, которая работает при вызове через http-соединение. Но когда я пытаюсь добавить SSL сверху, у меня возникают некоторые проблемы.
Это код для создания сервера:
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
r есть вызов открытого метода, но он никогда не вызывается. Предполагаю, что причина такого поведения в том, что привязка для конечной точки HTTPBinding.HTTP_BINDING
, а не HTTPS. Но мне не удалось найти способ привязки к https.
Если я запускаю тестовый клиент или браузер на тексте ссылки, я получаю тот же ответ:
500 Internal Server Error Нет обработчика контекста