cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Freeman Fang <>
Subject Re: MTOM, WSS4J, Big file
Date Mon, 05 Mar 2012 02:33:50 GMT

On 2012-3-3, at 下午5:05, Magnus wrote:

> Hi,
> I would like to stream a big file directly to the browser.
> Environment:
> backend server---cxf--->front-end server----http---->browser
> There is a big file on the backend server. I would like to stream it
> directly to the browser.
> I have configured webservice and WSS4JOutInterceptor(with  
> UsernameToken
> Timestamp) to support MTOM.
> Binding is jaxb.
> Big data transfers in a DataHandler field in a FileDTO. DataSource for
> DataHandler is a FileDataSource on the backend server side.
> It seems there is a problem:
> Streaming itself works however cxf always create a temporary file
> automatically.
> Cxf at first downloads the big file from the backend server to the  
> front-end
> server as a temporary file and streaming could start only after this
> downloading. It is a problem because it takes double time to  
> download the
> file into the browser.
> Configuration everywhere use streams until ServletOutputStream.
> When I call FileDTO getFile() webservice function in the backend  
> server the
> function immediately downloads the big file as  a temporary file.
> Is there any parameter which can disable immediate file downloading  
> as a
> temporary file? Data should be streamed from DataHandler directly to  
> the
> ServletOutputStream without temporary file.
> Is it a side effect of WSS4J Interceptor usage? Is it possible to  
> swith off
> this behaviour?

Yeah, if you use WSS4J interceptor you would also use SAAJ Interceptor  
which basically break the stream thing you want.


> --
> View this message in context:
> Sent from the cxf-user mailing list archive at

Freeman Fang

Twitter: freemanfang

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message