Java 通过RESTWeb服务读取文档文件
我想访问保存在我的一个文件夹中的.doc文件。我尝试使用一个网站中可用的代码 代码: 根本原因Java 通过RESTWeb服务读取文档文件,java,eclipse,Java,Eclipse,我想访问保存在我的一个文件夹中的.doc文件。我尝试使用一个网站中可用的代码 代码: 根本原因 com.sun.jersey.api.container.MappableContainerException: java.io.IOException: Unable to read entire header; 11 bytes read; expected 512 bytes com.sun.jersey.server.impl.model.method.dispatch.Resourc
com.sun.jersey.api.container.MappableContainerException: java.io.IOException: Unable to read entire header; 11 bytes read; expected 512 bytes
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:74)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:689)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.io.IOException: Unable to read entire header; 11 bytes read; expected 512 bytes
org.apache.poi.poifs.storage.HeaderBlockReader.alertShortRead(HeaderBlockReader.java:130)
org.apache.poi.poifs.storage.HeaderBlockReader.<init>(HeaderBlockReader.java:81)
org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:151)
org.apache.poi.hwpf.HWPFDocument.verifyAndBuildPOIFS(HWPFDocument.java:121)
org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:134)
com.read.ws.readresource.fun(readresource.java:26)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:156)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:689)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
Apache Tomcat/6.0.13
com.sun.jersey.api.container.mappablecontainereexception:java.io.IOException:无法读取整个标头;读取11字节;应为512字节
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:74)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
com.sun.jersey.server.impl.application.WebApplicationImpl.\u handleRequest(WebApplicationImpl.java:689)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
javaservlet.http.HttpServlet.service(HttpServlet.java:803)
根本原因
java.io.IOException:无法读取整个标头;读取11字节;应为512字节
org.apache.poi.poifs.storage.HeaderBlockReader.alertShortRead(HeaderBlockReader.java:130)
org.apache.poi.poifs.storage.HeaderBlockReader.(HeaderBlockReader.java:81)
org.apache.poi.poifs.filesystem.poifsffilesystem.(poifsffilesystem.java:151)
org.apache.poi.hwpf.HWPFDocument.verifyAndBuildPOIFS(HWPFDocument.java:121)
HWPFDocument.(HWPFDocument.java:134)
com.read.ws.readresource.fun(readresource.java:26)
sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
invoke(NativeMethodAccessorImpl.java:39)
reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutingVoker.\u dispatch(AbstractResourceMethodDispatchProvider.java:156)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
com.sun.jersey.server.impl.application.WebApplicationImpl.\u handleRequest(WebApplicationImpl.java:689)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
javaservlet.http.HttpServlet.service(HttpServlet.java:803)
注意,Apache Tomcat/6.0.13日志中提供了根本原因的完整堆栈跟踪。
ApacheTomcat/6.0.13
文件是否在MS Word中打开?看起来像是网络连接问题。其他服务的连接正常吗?是的,它将在ms word中打开。是的,该文件正在ms word中打开。在该文件中,我们只保存了11个字符,包括空格。在我们给出的错误中,提到它只读取11个字节,但预期为512个字节之类的内容。m0skit0:其他服务的连接正常。
javax.servlet.ServletException: com.sun.jersey.api.container.MappableContainerException: java.io.IOException: Unable to read entire header; 11 bytes read; expected 512 bytes
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:311)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
com.sun.jersey.api.container.MappableContainerException: java.io.IOException: Unable to read entire header; 11 bytes read; expected 512 bytes
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:74)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:689)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.io.IOException: Unable to read entire header; 11 bytes read; expected 512 bytes
org.apache.poi.poifs.storage.HeaderBlockReader.alertShortRead(HeaderBlockReader.java:130)
org.apache.poi.poifs.storage.HeaderBlockReader.<init>(HeaderBlockReader.java:81)
org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:151)
org.apache.poi.hwpf.HWPFDocument.verifyAndBuildPOIFS(HWPFDocument.java:121)
org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:134)
com.read.ws.readresource.fun(readresource.java:26)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:156)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:689)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
Apache Tomcat/6.0.13