http接続で呼び出されたときに機能する基本的なRESTサービスを作成しました。しかし、私が上にSSLを追加しようとするといくつかの問題があります。HTTPSへのJ2SEエンドポイントのバインド
これは、サーバーを作成するためのコードです:
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は公共invokeメソッドを持っていますが、それが呼ばれることは決してありません。私は、この動作の理由は、エンドポイントのバインディングがHTTPBinding.HTTP_BINDING
であり、HTTPSではないと考えています。しかし、私はhttpsにバインドする方法を見つけることはできませんでした。
500内部サーバーエラー 私は私の問題への答えを見つけたコンテキスト