【发布时间】:2011-06-11 17:31:39
【问题描述】:
我创建了一个基本的 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());
RestSourcePayloadProvider 类有公共方法调用,但它永远不会被调用。我想这种行为的原因是端点的绑定是HTTPBinding.HTTP_BINDING,而不是HTTPS。但是我没有找到绑定到 https 的方法。
如果我在link text 上运行测试客户端或浏览器,我会得到相同的答案:
500 内部服务器错误 没有上下文处理程序
【问题讨论】:
标签: java web-services restful-authentication