【发布时间】:2015-02-10 17:27:20
【问题描述】:
我正在使用码头版本 7.5.1。
我的网络服务在“http://...”端点上运行良好,但是当我将其更改为“https://...”时出现问题。
Endpoint e = Endpoint.create(webservice);
e.publish("https://localhost:" + serverPort + "/ws/mywebservice);
我收到以下错误消息: “不支持基于 https 协议的地址”。
我尝试过使用SslChannelConnector、SelectChannelConnector 以及两者的组合。
Connector connector = new SelectChannelConnector();
connector.setPort(59180);
SslContextFactory factory = new SslContextFactory();
factory.setKeyStore("keystore");
factory.setKeyStorePassword("password");
factory.setKeyManagerPassword("password");
factory.setTrustStore("keystore");
factory.setTrustStorePassword("password");
SslSelectChannelConnector sslConnector = new SslSelectChannelConnector(factory);
sslConnector.setPort(443);
sslConnector.setMaxIdleTime(30000);
server.setConnectors(new Connector[]{connector, sslConnector});
我也尝试修改发布路径中的端口。但没有成功。
会不会是我的密钥库文件的创建出了问题? 即使我输入了错误的密码,它也会显示不同的错误消息,说明我的密码错误。
我的选择已经不多了。有什么想法吗?
编辑:更多信息:
Servlet 现在可以在 HTTPS 上正常工作。但 Web 服务不行。我可能以错误的方式发布它吗?
【问题讨论】:
标签: web-services ssl jetty