如何在Restlet 2.0.0中实现服务器机密性HTTPS

时间:2012-06-01 20:05:11

标签: java web-services rest restlet restlet-2.0

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

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

使用的Lib: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();
}}

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

此致 维基

2 个答案:

答案 0 :(得分:0)

我做到了。有一个罐子问题。 它要求从相同的分布(即2.0.0或2.0.14等)上面提到的jar列表。 不应该从Restlet API doc中提到的不同版本或其他位置(例如org.simpleframework_3.1)中选择jar。

答案 1 :(得分: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>