错误404 - 未找到 - 无法调用REST WebService

时间:2016-07-15 07:23:10

标签: web-services rest

到目前为止,我还不幸能得到以下错误的解决方案,

"错误404 - 未找到

来自RFC 2068超文本传输​​协议 - HTTP / 1.1:

10.4.5 404 Not Found

服务器未找到与Request-URI匹配的任何内容。没有说明该病症是暂时的还是永久性的。 如果服务器不希望将此信息提供给客户端,则可以使用状态代码403(禁止)。如果服务器通过一些内部可配置的机制知道旧资源永久不可用且没有转发地址,则应该使用410(Gone)状态代码。"

但没有运气,所以在这里发布这个问题。

我需要使用RESTFul Web Services从服务器位置下载映像文件。所以,我在eclipse中创建了一个REST WS,如下面的步骤,

  1. Eclipse - >档案 - >新动态WebProject
  2. 创建了一个名为" DownloadWebService"的服务类。在src
  3. 在Java资源中添加了Jersey库 - >图书馆文件夹。
  4. 在WebContent文件夹中创建了index.jsp和web.xml。
  5. 项目右键单击 - >出口 - > WAR文件。
  6. DownloadWebService:

    package com.downloadfile.webservice;
    import java.io.File;
    import java.util.logging.Logger;
    import javax.ws.rs.POST;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.Response;
    import javax.ws.rs.core.Response.ResponseBuilder;
    @Path("/files")   
    public class DownloadWebService { 
    
        private static final String FILE_PATH = "/ngs/app/alect/test";  
        @POST   
        @Path("/image")   
        @Produces("image/png")    
        public Response getFile() { 
            System.out.println("************");
            Logger.getLogger("############");
            File file = new File(FILE_PATH);    
            ResponseBuilder response = Response.ok((Object) file);
            System.out.println("testing Web Service..."+FILE_PATH);
            System.out.println("");
            response.header("Content-Disposition","attachment; filename=\"test.png\"");  
            return response.build();     
    
        }  
     }  
    

    Web.xml中:

    <?xml version="1.0" encoding="UTF-8"?>  
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xmlns="http://java.sun.com/xml/ns/javaee"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"   
    id="WebApp_ID" version="3.0">  
     <servlet>  
        <servlet-name>Jersey REST Service</servlet-name>  
        <servlet-class>com.downloadfile.webservice.DownloadWebService</servlet-class>  
        <load-on-startup>1</load-on-startup>   
      </servlet>  
      <servlet-mapping>     
        <servlet-name>Jersey REST Service</servlet-name>  
        <url-pattern>/rest/*</url-pattern>  
      </servlet-mapping>  
    </web-app>   
    

    的index.html:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    
    <a href="rest/files/image">Download Image File</a>
    </body>
    </html>
    

    我能够在WebLogic服务器中部署这个WAR应用程序,当我点击链接下面的测试时,它会在浏览器中将index.jsp文件带到我想要的并且它是正确的。点击链接&#34;下载图像文件&#34;后,它会在浏览器中转发以下网址

    http://alecitapp.corp.apple.com:7007/AppleDownloadWebService/rest/files/image

    它抛出上面说的404 - 没有发现错误。

    我在这里遗漏了什么吗?甚至没有看到Service类被调用?索引页面即将出现,点击下载链接,它应该转到服务类,但它没有。

    如果我做错了,请纠正我。

    谢谢, KARTHIK。

0 个答案:

没有答案