2017-02-17 49 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没有相应地更新这些文件。所以这不是一个编码问题,而更像是一个发布问题。