2015-11-08 55 views
1

我正在使用JBoss 9.x應用程序服務器,我想創建一個REST API來與我的EJB進行通信。 我創建了兩個類PlayerRestApi和PlayerEJB和部署到wildfly,但是當我請求/播放器的反應總是404爲EJB創建REST API

注:我將張貼PlayerRestApi類與虛擬的回報。

PlayerRestApi代碼:

@Local 
@Path("/player") 
@Consumes("application/json") 
@Produces("application/json") 
public class PlayerRestApi{ 
    PlayerEJB player; 

    @GET 
    public Map<String, String> getPlayer(){ 
     Map<String, String> r = new HashMap<String,String>(); 
     r.put("Name","Ronaldo"); 
     return r; 
    } 
} 

當我試圖這條路線,本地主機:http://localhost:28070/appname/player Wildfly返回404

回答

1

我部署一個jar文件,而不是戰爭的文件,因此wildfly回報404 它的代碼是正確的和工作。

注意此版本的Wildfly Application Server不需要web.xml文件。

1

您需要使用例如圖書館的RESTEasy,我不知道是否wildfly有它開箱即用(是一個jboss庫),你也可以使用Jersey。

¿您是否更新過web.xml以定義RESTEasy servlet?

下面是一個例子(你必須把你的類resteasy.resources)

<context-param> 
     <param-name>resteasy.resources</param-name> 
     <param-value>your JAX-RS annotated class</param-value> 
    </context-param> 

    <!-- Auto scan REST service --> 
    <context-param> 
     <param-name>resteasy.scan</param-name> 
     <param-value>true</param-value> 
    </context-param> 

    <listener> 
     <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>resteasy-servlet</servlet-name> 
     <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>resteasy-servlet</servlet-name> 
     <url-pattern>/*</url-pattern> 
    </servlet-mapping> 
+0

我覺得野蠻9.0+不需要web.xml文件,它是正確的? – urb

+0

嗨,我還沒有使用wildfly 9.0+。我不知道是否有一個實例可以開箱即可提供休息服務...... –