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サーバーを機能させることができましたが、両方を組み合わせると何日も頭痛の種になりました)、今は本当にあなたの助けに依存しています。前もって感謝します(誰かが私の文法を修正しても、私は気分を害しません。私はまだそれを学ばなければなりません)