java cxf webservice 传输文件异常

问题描述

java cxf webservice 传输文件异常

利用cxf传输大文件会报如下异常,请高手帮忙:
[org.apache.cxf.phase.PhaseInterceptorChain]Interceptor for {http://impl.ws.zr.com/}zfFileService#{http://service.ws.zr.com/}getWsUser has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not write attachments.
at org.apache.cxf.interceptor.AttachmentOutInterceptor$AttachmentOutEndingInterceptor.handleMessage(AttachmentOutInterceptor.java:98)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:207)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:126)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:185)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:164)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:140)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:369)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:448)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:363)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:46)
at javax.activation.DataHandler.writeTo(DataHandler.java:294)
at org.apache.cxf.attachment.AttachmentSerializer.writeAttachments(AttachmentSerializer.java:234)
at org.apache.cxf.interceptor.AttachmentOutInterceptor$AttachmentOutEndingInterceptor.handleMessage(AttachmentOutInterceptor.java:96)
... 31 more
Caused by: java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:756)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:448)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:363)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:780)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:593)
at org.apache.coyote.Response.doWrite(Response.java:560)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:364)
... 40 more

解决方案

java webservice 传输文件
WebService CXF --- 传输文件MTOM

解决方案二:

报错SocketException:Connection reset by peer: socket write error。

时间: 2025-01-31 05:59:37

java cxf webservice 传输文件异常的相关文章

局域网-java socket 网络传输文件使网络使用率最大化

问题描述 java socket 网络传输文件使网络使用率最大化 局域网传输文件,如何使网络使用率最大化,主要问题是在客户端接收数据写入磁盘时会影响传输效率,有没有好的办法解决呢? 解决方案 1)文件分片并使用多线程传输,文件传输前要预先在磁盘分配好文件所需空间 2)为了提高传输效率,客户端建立数据的内存缓冲区,针对每一个文件片的传输,客户端要启一个线程负载下载到缓冲区,再启一线程从缓冲区读数据写磁盘. 解决方案二: 多线程,边传输数据边写入文件

java cxf webservice整合问题

问题描述 java cxf webservice整合问题 jws代码: @Service("iom4crm") @WebService(targetNamespace = "http://service.iom.test.com/", serviceName="IOM4CRM") public class Iom4Crm implements IIom4Crm{ @Override @WebMethod(operationName = "

Java使用Socket传输文件遇到的问题(转)

  1.写了一个socket传输文件的程序,发现传输过去文件有问题.找了一下午终于似乎找到了原因,记录下来警示一下:                                              接受文件的一端,向本地写文件之前使用Thread.sleep(time)休息一下就解决了问题.                                                    个人认为可能是传输过程中,接收端向磁盘写速度有点慢,被后面的覆盖导致错误. //-------

求助:.net调用java cxf webservice服务日期类型

问题描述 最近做了一个项目需要.net客户端调用javawebservice接口,我们选择了CXF,遇到了一个郁闷的问题,如果定义一个方法,参数是Calendar,.net调用没问题.如果是一个实体类里面有一个属性是Calendar,这个属性的值就是null,很奇怪,求助:哪位兄弟遇到过类似的问题过 解决方案 解决方案二:你转成字符串传更靠谱,收到之后再转回来webservices将所有要传输的东西都转成xml,有些对象不一定那么好转解决方案三:唉,郁闷啊,转字符串的话,存入数据来回折腾太麻烦了

C#客户端调用java Cxf webservice 参数问题

问题描述 请教:C#客户端调用webservice提供的方法,传递参数是一个结构体,客户端将userid和pass传过去,在服务器端能得到,服务端将username,和其他信息set到这个结构体中个,客户端得不到数据,需要怎么样才能得到客户端掉WebService.LoginServiceClientaa=newWebService.LoginServiceClient();WebService.userInfouserinfo=newWebService.userInfo();//当前添加we

java cxf swing 结合发布webservice

问题描述 java cxf swing 结合发布webservice 在一个桌面程序中需要用到webservice,使用swing编写桌面程序,用cxf及内置的jetty发布webservice,目前在eclipse中可以正常运行, 但是一旦打包成jar文件就会报错: [main] DEBUG org.apache.cxf.common.logging.LogUtils - Using org.apache.cxf.common.logging.Log4jLogger for logging.

Java 使用 TCP 和 UDP 传输文件

引言 本项目的目的是实现两个应用,通过网络连接在不同的主机之间传输一个文件的功能.两个应用应该分别利用 UDP 和 TCP 协议,以具有传输至少 1 MB 文件的能力. 实现和说明 源代码 两个应用都由单个程序实现,源代码下载地址. 说明 程序使用以下命令行进行编译: javac *.java 然后使用以下两个命令行运行: Receiver: # java FileReceiver [protocol] [port] Sender: # java FileSender [protocol] [h

使用CXF和Jersey框架来进行Java的WebService编程_java

CXFCXF是在xfire的基础上实现的. 1)首先呢,还是包的问题,在http://cxf.apache.org/download.html这里可以下到最新版的CXF,当然,我用的是最新版的.接下来还是那句废话,建WEB项目,放入JAR包.而JAR包我们就不选择了,一堆全部放入. 我们会看到它包含了spring的JAR包,后面当我们需要把CXF作为WEB项目部署时,就需要用到spring的配置文件,这个后面再讲. 还是接口类和实现类: @WebService public interface

java 访问webservice 异常

问题描述 java 访问webservice 异常 log4j:WARN No appenders could be found for logger (org.apache.axis2.context.AbstractContext).log4j:WARN Please initialize the log4j system properly.Exception in thread ""main"" org.apache.axis2.AxisFault: Firs