这应该是如此简单,但它吹我的脑海里......我已经经历数百个问题读到这里,而且至今没有答复取得了什么我已经尝试了不同。 这显然是一次另一套的眼睛..
试图做一个最简单的休息测试时,我得到一个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 /工作流程
请帮助之前,我扔这台笔记本电脑...
我看不出有什么错在你的设置,从大家展示一下。 你没有提到你正在使用哪个版本的球衣,但我想是大于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中添加断点,以确保您的资源加载。
我希望它能帮助!
好了,今天早上我又回到了基础。 我创建了我的笔记本电脑从vogella教程用eclipse一个全新的工作空间。 我这一个在所有的10分钟我的笔记本电脑工作。 然后我去了我的问题,工作区,并添加了相同的项目一步一步来。 有效...
然后我就开始加在我的组件和一个一个慢慢的,我是能够得到他们的工作。 我必须有某种类型的拼写或做错事,但我感觉好多了,这里没有一个人既可以看到它。
好消息是,现在的工作。 (我甚至后取出vogella东西)..
:)
感谢所有帮助!
好,我有同样的问题。 我一直在寻找了约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