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?






--
View this message in context: 
http://cxf.547215.n5.nabble.com/MTOM-WSS4J-Big-file-tp5533357p5533357.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to