1

SSLを使用してグリズリーで安全なRESTサーバーを実現しようとしています。リソースを構成します

package SPSServer.controller.Grizzly;
@Path("/")
public class MessageRessource {

@GET
@Path("serverinfo")
@Produces({MediaType.APPLICATION_JSON,MediaType.TEXT_XML})
public ServerInfo serverinfo() {
    ServerInfo info = new ServerInfo();
    info.server = System.getProperty("os.name") + " " + System.getProperty("os.version");
    return info;
}



@GET
@Produces({MediaType.APPLICATION_JSON,MediaType.TEXT_XML})
//@Produces( MediaType.TEXT_PLAIN )
public String message() {
    return "Yea! ";
}
}

今、グリズリーを始めています

    webServer = new GrizzlyWebServer(1337, ".", true);
    SSLConfig sslConfig = new SSLConfig(true);
    webServer.setSSLConfig(sslConfig);
    ServletAdapter adapter = new ServletAdapter();
    final Map<String, String> initParams = new HashMap<String, String>();
    adapter.addInitParameter(PackagesResourceConfig.PROPERTY_PACKAGES,    "SPSServer.controller.Grizzly.MessageRessource");
           adapter.addInitParameter(ClasspathResourceConfig.PROPERTY_CLASSPATH, ".");

    adapter.setContextPath("/");
    adapter.setServletInstance(new ServletContainer());

     webServer.addGrizzlyAdapter(adapter, new String[]{"/"});
     webserver.start();

`

で始まります

2013 年 3 月 31 日 4:55:14 PM com.sun.grizzly.Controller logVersion INFO: GRIZZLY0001: Grizzly Framework 1.9.56 を開始 - 2013 年 3 月 31 日 4:55 PM

しかし、リソースにアクセスしようとすると、次の '(https://locahost:1337/)'エラーがスローされます。

2013 年 3 月 31 日 4:56:12 PM com.sun.jersey.api.core.PackagesResourceConfig init INFO: パッケージ内のルート リソースとプロバイダー クラスをスキャンしています: SPSServer.controller.Grizzly.MessageRessource 2013 年 3 月 31 日 4:56: 12 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: ジャージー アプリケーションの開始、バージョン 'Jersey: 1.17.1 02/28/2013 03:28 PM' 2013 年 3 月 31 日 4:56:13 PM com .sun.jersey.server.impl.application.RootResourceUriRules 重大: ResourceConfig インスタンスにルート リソース クラスが含まれていません。2013 年 3 月 31 日 4:56:13 PM com.sun.grizzly.http.servlet.ServletAdapter doService SEVERE: サービス例外: com.sun.jersey.api.container.ContainerException: ResourceConfig インスタンスにルート リソース クラスが含まれていません。

私はグリズリーを機能させようとしました(ジャージのHttpServerFactoryを使用すると、SSLなしで機能するレストサーバーを取得し、httpsサーバーを機能させることができましたが、両方を組み合わせると何日も頭痛の種になりました)、今は本当にあなたの助けに依存しています。前もって感謝します(誰かが私の文法を修正しても、私は気分を害しません。私はまだそれを学ばなければなりません)

4

1 に答える 1

1

このジャージーのサンプルを試してみましたか?

https://maven.java.net/content/repositories/releases/com/sun/jersey/samples/https-clientserver-grizzly/1.17.1/https-clientserver-grizzly-1.17.1-project.zip

于 2013-04-04T00:34:39.263 に答える