2017-02-17 50 views
0

我有具有源和應用JEE 6個JAXRS獲取文件未找到

package com.x.framework.api; 

import java.security.Principal; 
import javax.annotation.Resource; 
import javax.ejb.SessionContext; 
import javax.ejb.Stateless; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 
import javax.ws.rs.core.Response; 

import com.csx.enterprise.webframework.security.LDAPUser; 
import com.csx.enterprise.webframework.util.FrameworkThreadProperties; 
import com.csx.enterprise.webframework.util.Log; 
import com.csx.enterprise.webframework.util.WebFrameworkConstants; 


@Stateless 
@Path("/security") 
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 
public class SecurityResource { 

    @Resource 
    SessionContext ctx; 

    @GET 
    @Path("me") 
    @Produces(MediaType.APPLICATION_JSON) 
    public Response getMe() { 
    ... 
    } 

我有一個Web項目的web.xml

<servlet> 
     <servlet-name>javax.ws.rs.core.Application</servlet-name> 
     <init-param> 
      <param-name>javax.ws.rs.Application</param-name> 
      <param-value>com.x.framework.api.JaxrsApplication</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
      <servlet-name>javax.ws.rs.core.Application</servlet-name> 
     <url-pattern>/api/*</url-pattern> 
    </servlet-mapping> 

    <filter-mapping> 
     <filter-name>CSXSecurityFilter</filter-name> 
     <url-pattern>/api/*</url-pattern> 
    </filter-mapping> 

公用事業項目但是當我點擊URL https://localhost:9443/webframework/api/security/me時,我總是收到錯誤404:java.io.FileNotFoundException:SRVE0190E:找不到文件:/ api/security/me。有什麼建議麼?

+0

你是在WAS Liberty還是傳統中部署?什麼版本?如果Liberty,您已啓用了哪些功能? 我能夠使用您在Liberty中發佈的代碼啓用jaxrs-1.1和webProfile-6.0功能來完成此項工作。我不得不在web.xml和導入中註釋掉CSX安全過濾器,否則它應該是相同的。也許CSX過濾器干擾?如果你也發表評論,你能讓它運行嗎? –

+0

謝謝安迪。我正在使用傳統。上面貼出的代碼很好。我發現它沒有得到更新發布。 – rickcoup

回答

0

編碼很好。我必須去installedApp目錄並提取ear文件,發現Eclipse沒有相應地更新這些文件。所以這不是一個編碼問題,而更像是一個發佈問題。