You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Verachten Bruno <Br...@atosorigin.com> on 2007/08/29 17:23:15 UTC

Sending big file attachments

Hi,

I have a simple web service transforming a file into another.
As soon as the input file is bigger than 3M, I get this error on the
client :
org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
	at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMes
sage(ReadHeadersInterceptor.java:186)
	at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMes
sage(ReadHeadersInterceptor.java:57)
	at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:206)
	at
org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:399)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
onse(HTTPConduit.java:1830)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTP
Conduit.java:1698)
	at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
	at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingI
nterceptor.handleMessage(MessageSenderInterceptor.java:62)
	at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:206)
	at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:253)
	at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:204)
	at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
	at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
	at $Proxy28.processFile(Unknown Source)
	at
test.WebServiceConverter.convert(WebServiceConverter.java:175)
	at
org.apache.jsp.convertFile_jsp.processuploadForm(convertFile_jsp.java:19
7)
	at
org.apache.jsp.convertFile_jsp._jspService(convertFile_jsp.java:435)
	at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja
va:298)
	at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	at
net.atos.mm.fwk.fw3.servlet.JSPServlet._service(JSPServlet.java:199)
	at
net.atos.mm.fwk.fw3.servlet.JSPServlet.service(JSPServlet.java:118)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:237)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
	at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:117)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
	at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
3)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:702)
	at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
1)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:644)
	at java.lang.Thread.run(Thread.java:595)
Caused by: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 middle byte
0x20 (at char #846, byte #-1)
	at
com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:683)
	at
com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1086)
	at
com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1095)
	at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMes
sage(ReadHeadersInterceptor.java:87)
	... 48 more
Caused by: java.io.CharConversionException: Invalid UTF-8 middle byte
0x20 (at char #846, byte #-1)
	at
com.ctc.wstx.io.UTF8Reader.reportInvalidOther(UTF8Reader.java:310)
	at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:201)
	at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
	at
com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.jav
a:57)
	at
com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:967)
	at com.ctc.wstx.sr.StreamScanner.getNext(StreamScanner.java:738)
	at
com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:
1995)
	at
com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
	... 50 more

I use the MTOM mode, since I added xmime:expectedContentTypes in the
wsdl file :
	<xsd:complexType name="processFile">
        <xsd:sequence>
	    <xsd:element minOccurs="0" name="sourceFile"
	      type="xsd:base64Binary"
		xmime:expectedContentTypes="application/octet-stream" />
	    <xsd:element minOccurs="0" name="fileInfo"
	      type="xsd:string" />
	    <xsd:element minOccurs="0" name="userInfo"
		type="xsd:string" />
	  </xsd:sequence>
	</xsd:complexType>

Did I miss something, or is it just not possible to send big files?

Thanks in advance,

Bruno Verachten