【问题标题】:JAXRS tries to call Interface instead of ImplementationJAXRS 尝试调用接口而不是实现
【发布时间】:2014-01-09 18:57:33
【问题描述】:

我有一个 JAXRS 应用程序。我有一个接口类(SomeResource)(我放了大部分注释)和这个接口的实现(SomeService)。

我已经在重写的 JaxRSApplication 方法中注册了 SomeService.class .getClasses();

我的所有其他服务/资源都以相同的方式实现,但是每当我尝试调用这一项服务 (SomeService) 时,都会出现以下异常:

“错误 500:javax.servlet.ServletException:java.lang.IllegalAccessException:类 org.apache.wink.server.internal.handlers.InvokeMethodHandler 无法访问带有修饰符的类 package.api.SomeResource 的成员”公共抽象""

如您所见,出于某种原因,这个 Service 尝试调用 Resource(Interface) 而不是具有实际实现的 Service 类。

有人知道如何解决这个问题吗? (出于安全考虑,隐藏了真正的类名)。

【问题讨论】:

    标签: rest jax-rs


    【解决方案1】:

    请务必声明服务的实现类 (SomeService.class) 及其完整的限定类名,而不是应用程序的其余服务配置中的接口。

    您必须这样做的方式取决于实施框架。

    看看这里:

    http://cxf.apache.org/docs/jaxrs-services-configuration.html

    【讨论】:

      猜你喜欢
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多