Jersey2でRestFul APIを作成していますが、
JerseyTestを使ったUnitTest実行時に、
GET Requestを投げた段階で、
以下のようなExceptionが発生し、解析の手がかりをつかめずにいます。
Test側で起きているのか、実装側で起きているのかわかっていません。
「ここを見たら良い」と言ったようなアドバイスをいただけないでしょうか?
よろしくお願いします。
環境
Java 1.8.0u05
Jersey2.17 (ただしJerseyTest)
lang
1MultiException stack 3 of 3 2java.lang.IllegalStateException: Unable to perform operation: create on org.glassfish.jersey.message.internal.MessageBodyFactory 3 at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:389) 4 at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471) 5 at org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:82) 6 at org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:70) 7 at org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture$1.call(Cache.java:97) 8 at java.util.concurrent.FutureTask.run(FutureTask.java:266) 9 at org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture.run(Cache.java:154) 10 at org.glassfish.hk2.utilities.cache.Cache.compute(Cache.java:199) 11 at org.jvnet.hk2.internal.SingletonContext.findOrCreate(SingletonContext.java:121) 12 at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2064) 13 at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:711) 14 at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:653) 15 at org.glassfish.jersey.server.model.ComponentModelValidator.<init>(ComponentModelValidator.java:97) 16 at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:522) 17 at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:166) 18 at org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandler.java:327) 19 at org.glassfish.jersey.internal.Errors$2.call(Errors.java:289) 20 at org.glassfish.jersey.internal.Errors$2.call(Errors.java:286) 21 at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 22 at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 23 at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:286) 24 at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:324) 25 at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:338) 26 at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:171) 27 at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:363) 28 at javax.servlet.GenericServlet.init(GenericServlet.java:158) 29 at org.glassfish.grizzly.servlet.ServletHandler.loadServlet(ServletHandler.java:338) 30 at org.glassfish.grizzly.servlet.ServletHandler.doServletService(ServletHandler.java:200) 31 at org.glassfish.grizzly.servlet.ServletHandler.service(ServletHandler.java:169) 32 at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:219) 33 at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) 34 at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) 35 at java.lang.Thread.run(Thread.java:745) 36
追記
デバッガで実行させたところ、テストコード(Client側)のget() メソッドは正常終了し、HTTPステータスコードが500で返っていることがわかりました。
サーバ側は、@GET指定したメソッドの先頭でログを仕込んでいますが、それは出力されません。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー