新泽西州的REST Web服务和Tomcat,Eclipse和404的 - 需要另一套的眼睛,请(J

2019-10-22 06:51发布

这应该是如此简单,但它吹我的脑海里......我已经经历数百个问题读到这里,而且至今没有答复取得了什么我已经尝试了不同。 这显然是一次另一套的眼睛..

试图做一个最简单的休息测试时,我得到一个404错误。

我的Tomcat 7.0服务器启动后就好了。 没有错误。

在Eclipse中我的项目名称是:atomic_services_poc

在Tomcat中上下文设置为:/ atomic_services_poc我能成功返回静态网页有: HTTP://本地主机:8080 / atomic_services_poc / index.html的

这里是我的web.xml:

<servlet>
    <servlet-name>workflowmanagerserlvet</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
         <param-name>jersey.config.server.provider.packages</param-name>
         <param-value>com.tp.wfm.webservice</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>workflowmanagerserlvet</servlet-name>
    <url-pattern>/workflowmanager/*</url-pattern>
</servlet-mapping>

下面是WorkFlowManagerRestService.java Java代码

package com.tp.wfm.webservice;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/workflow")
public class WorkFlowManagerRestService {

    @GET
    @Produces(MediaType.TEXT_XML)
    public String sayXMLHello()
    {
        return "Data Return";
    }
}

我使用了SoapUI来测试RESTful请求的GET方法。 我曾尝试以下的许多变化,他们都导致404错误。

获取主机:8080 / atomic_services_poc / workflowmanager /工作流程

请帮助之前,我扔这台笔记本电脑...

Answer 1:

我看不出有什么错在你的设置,从大家展示一下。 你没有提到你正在使用哪个版本的球衣,但我想是大于2(我相信在泽西岛<2的属性在web.xml中是不同的名称)。

我建议以下尝试调试:

(1)对于时刻取出

@Produces(MediaType.TEXT_XML)

由@braunpet建议,并刚刚与Web浏览器进行测试

(2)添加ResourceConfig类,这样你至少可以调试哪些服务器在启动时做。 这是非常简单的,你像这样定义一个类:

package com.tp.wfm.application;

import org.glassfish.jersey.server.ResourceConfig;


public class MyApplication extends ResourceConfig {

    public MyApplication() {
        super();

        packages("com.tp.wfm.webservice");
    }

}

并改变你的web.xml是这样的:

    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>com.tp.wfm.application.MyApplication</param-value>
    </init-param>

然后你在Eclipse中添加断点,以确保您的资源加载。

我希望它能帮助!



Answer 2:

好了,今天早上我又回到了基础。 我创建了我的笔记本电脑从vogella教程用eclipse一个全新的工作空间。 我这一个在所有的10分钟我的笔记本电脑工作。 然后我去了我的问题,工作区,并添加了相同的项目一步一步来。 有效...

然后我就开始加在我的组件和一个一个慢慢的,我是能够得到他们的工作。 我必须有某种类型的拼写或做错事,但我感觉好多了,这里没有一个人既可以看到它。

好消息是,现在的工作。 (我甚至后取出vogella东西)..

:)

感谢所有帮助!



Answer 3:

好,我有同样的问题。 我一直在寻找了约2周的解决方案。 在已经过去了20个教程它掘进我疯了,为什么我的tomcat仍呈现404响应。 我只是想获得一个HelloWorld,例如工作但是服务器显示404每当我试图打开一个ResourcePATH时间(例如@Path(“/你好”))。 我在web.xml中“setupped”的球衣2.x和网址PARAM被宣布为“/ REST / *”。 该URL被正确调用localhost:PORT/PROJECT/rest/hello ..但没有机会。

最后,我找到了一个解决方案,我可以帮助别人谁是困扰本(好像是这个问题的作者):

  • 创建项目的.WAR文件,并把它变成你的“apache_tomcat / webapps中”目录(Eclipse中:右键点击项目 - >导出 - >为.war文件)
  • 重新启动Tomcat的服务器
  • 运行重新启动的服务器上的应用程序

在此之后,它的工作对我来说,我是能够连接到任何@Path(“”)我实现了。 如果我想要实现一个新的@Path我不得不重新处理3个步骤。 希望这可以帮助!



文章来源: Jersey REST Web Service with Tomcat, Eclipse and 404's - Need another set of eyes please