我得到了一些應用程序,我試圖公開一些REST風格的web服務。 不幸的是我卡住了。項目構建和部署良好,但我不能使用GET請求訪問我的服務。Jboss 7上的RESTful服務沒有響應
我的戰爭看起來很相似:戰爭時期是 。
war
|--index.html
|--WEB-INF
|--web.xml
|--classes
|--classes here..
我得到空web.xml
:
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
</web-app>
應用類:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/rest")
public class MyApplication extends Application {
}
和服務類: 進口javax.ejb.Stateless; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response;
@Path("/test")
@Stateless
public class RestTest {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/status")
public Response getStatus() {
return Response.ok("{\"status\":\"Service is running...\"}").build();
}
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/status/{param}")
public Response getStatusParam(@PathParam("param") String param) {
return Response.ok("{\"status\":\"Service is running...\"," +
"\"param\":\"" + param + "\"}").build();
}
}
我試圖通過http://localhost:8080/rest/test/status
訪問我的服務,但我得到404。如果我嘗試http://localhost:8080/rest
我得到我index.html
所以我的戰爭應該被正確部署。部署時也沒有錯誤。
我試圖刪除@Stateless
註釋,並返回我的課MyApplication.getClasses()
方法,但它沒有幫助。 Bean肯定是可見的,因爲Jboss記錄我的綁定。
我也從我的戰爭中刪除了所有jax-rs和restesy jar,以確保我使用的是正確的(由Jboss提供)。
我應該做些什麼來讓我的服務運行?
@EDIT
如果我像部署它的工作原理戰爭。我應該怎麼做才能揭露這樣的戰爭呢?
我的不好。如果我部署只是戰爭,它的作品。你知道如果內心發生戰爭,我該怎麼做才能奏效?我應該在application.xml中添加一些東西嗎? – Dcortez
太好了。這是很好的信息。 –