0

我正在尝试使用 https 协议实现 Rest web 服务(服务器)。

我在启动服务器时收到警告:警告:没有可用的服务器连接器支持所需的协议:'HTTPS'。请将匹配连接器的 JAR 添加到您的类路径中。

使用的库:1) org.restlet-2.0.0.jar 2) com.noelios.restlet.ext.simple_3.1.jar 3) org.simpleframework_3.1/org.simpleframework.jar 4) com.noelios.restlet。 ext.ssl.jar 5) org.jsslutils_0.5/org.jsslutils.jar

示例代码:

import org.restlet.resource.ServerResource;
import org.restlet.data.Parameter;
import org.restlet.data.Protocol;
import org.restlet.util.Series;
import org.restlet.Component; 
import org.restlet.Server;

public class RestServerResource extends ServerResource {

public static void main(String[] args) throws Exception {
    // Create a new Restlet component and add a HTTP server connector to it 
    Component component = new Component();  
    Server server = component.getServers().add(Protocol.HTTPS, 8183); //https secure protocol

    component.getDefaultHost().attach("/", RestServerResource.class); 
    Series<Parameter> parameters = server.getContext().getParameters();

    parameters.add("sslContextFactory", "org.restlet.ext.ssl.PkixSslContextFactory");
    // I have created self signed certificate. reference is attached with parameter
    parameters.add("keystorePath","${user.home}/serverX.jks");
    parameters.add("keystorePassword", "password");
    parameters.add("keyPassword", "password");
    parameters.add("keystoreType", "JKS");  

    component.start();
}}

任何人都可以建议,为什么我超过警告并且无法启动服务器。提前感谢您的早期回复。

问候维姬

4

2 回答 2

0

可能正在使用旧版本的 restlet,这是 pom 文件依赖项,我有

<dependencies>
<dependency>  
   <groupId>org.restlet.jse</groupId>  
   <artifactId>org.restlet</artifactId>  
   <version>2.0.0</version>  
</dependency>  
<dependency>  
   <groupId>org.restlet.jse</groupId>  
   <artifactId>org.restlet.ext.simple</artifactId>  
   <version>2.0.0</version>  
</dependency>  
  </dependencies>
于 2013-12-22T15:17:58.627 回答
0

我已经做好了。有一个 jar 问题。它需要来自同一发行版(即 2.0.0 或 2.0.14 等)的上述 jar 列表。不应从 Restlet API 文档中提到的不同版本或其他位置(例如 org.simpleframework_3.1)选择 jar。

于 2012-06-06T19:22:01.203 回答