我有一个JAXRS应用程序。我有一个Interface类(SomeResource)(我把大部分注释放在其中)和这个接口的实现(SomeService)。
我在重写的JaxRSApplication方法中注册了SomeService.class .getClasses();
我的所有其他服务/资源都以相同的方式实现,但每当我尝试调用这个服务(SomeService)时,我都会遇到以下异常:
“错误500:javax.servlet.ServletException:java.lang.IllegalAccessException:类org.apache.wink.server.internal.handlers.InvokeMethodHandler无法使用修饰符”public abstract“访问类package.api.SomeResource的成员“”
正如您所看到的,由于某种原因,这个服务尝试使用实际实现来调用资源(接口)而不是Service类。
任何人都知道如何解决这个问题? (由于安全性而隐藏真实的类名。)
答案 0 :(得分:0)
请务必使用其完全限定的类名声明服务的实现类(SomeService.class),而不是应用程序的其余服务配置中的接口。
您必须这样做取决于实施框架。
看看这里:
http://cxf.apache.org/docs/jaxrs-services-configuration.html