【问题标题】:Rest Web Service not working on TomEE web profile 1.7.2休息 Web 服务在 TomEE Web 配置文件 1.7.2 上不起作用
【发布时间】:2018-03-21 14:23:22
【问题描述】:

我想向现有的 Web 应用程序添加 Web 服务。此应用程序在特定版本的 Apache TomEE (apache-tomee-web-profile-1.7.2) 上运行,无法升级。

我正在尝试在此 TomEE 上部署 this sample application,只是为了尝试一下。我在日志中看不到任何错误 我设法看到应用程序的主页:

这是资源的代码:

@Path("/pojo")
public class SimpleRESTPojo {

  @GET
  public String pojo() {
     return "pojo ok @ " + new Date().toString();
  }
 }

以及其余应用程序的代码:

@ApplicationPath("/rest-prefix")
public class ApplicationConfig extends Application {

 @Override
 public Set<Class<?>> getClasses() {
    return new HashSet<Class<?>>(Arrays.asList(SimpleRESTPojo.class, SimpleRESTEJB.class));
 }


}

到目前为止,我已经尝试过: base/rest-prefix/pojo, base/rest-prefix/pojo/pojo, base/pojo 都给我 404 错误

base 是我设法看到主页的网址

【问题讨论】:

  • 您是否尝试过点击http://localhost:1234/rest-example-with-application-1.1.0-SNAPSHOT/rest-prefix/pojo/pojo 而不是http://localhost:1234/rest-example-with-application-1.1.0-SNAPSHOT/rest-prefix/pojo/? url的最后一部分是我认为的函数名
  • 它也不起作用。我在原始帖子中添加了详细信息。
  • 当服务器启动时,其余接口列在日志 (catalina.log?) 中,应该转到 IDE 中的控制台。寻找它开始部署 webapp -------&gt; /rest-example-with-application-1.1.0-SNAPSHOT 的部分。在该部分的末尾,它列出了接口。那应该告诉你它在哪里org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
  • 您所说的日志没有出现在我的控制台中。这就是让我详细了解网络配置文件方面的原因。谢谢

标签: rest apache-tomee


【解决方案1】:

我设法找到了一个我非常满意的解决方案。原来我想做的事情几乎是不可能的。正如在 this other stackoverflow post Web Profile 是 Java EE 的一个子集,通常不包含创建 REST WS 所需的库。

我在 TomEE jaxrs 版本上运行了 Rest Sample 应用程序,它按预期工作。然后,我将 TomEE-jaxrs 中而不是 TomEE-webprofile 中包含的几个库复制到我的原始服务器库文件夹中。

【讨论】:

  • 好点。我使用捆绑了所有这些库的 TomEE plus
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 1970-01-01
  • 2017-05-24
  • 2011-12-16
  • 1970-01-01
相关资源
最近更新 更多