On Jun 17, 2008, at 9:15 PM, Boxiong Ding wrote:

I have a service that imports large data. On server side, I followed the MTOM doc (http://cwiki.apache.org/CXF20DOC/mtom.html) to enable mtom and use DataHandler. And I can transfer file with no problem.

Now I want to test my service on client side. I followed the same doc for client set up, and it works with small files but always fails with large files (1GB).

My understanding is that client will send request using attachment for the large data since I turned on MTOM, but actually all data got inlined.

If it's inlined, then it looks like mtom isn't completely turned on correctly. That's definitely the first thing to look at. If something that large is inlined, that will definitely be a problem.

If you're using 2.1, you might want to just try adding a @MTOM annotation to the interface. If you could debug into the AttachmentOutInterceptor to make sure it thinks mtom is turned on, that would be great as well. (also, try 2.1.1 which we are voting on now: http://www.nabble.com/-VOTE--Release-CXF-2.1.1-to17911209.html , I think the jaxws:properties method listed at the bottom of that page was broken in 2.1, but fixed in 2.1.1.)

Dan


Besides, since I am using DataHandler/AttatchmentDataSource/ FileInputStream, I assume client won't construct the whole request object in memory. Instead, it should send request/data while reading the data from file. But I don't think it works like this since I always got heap overflow error and nothing is sent.

Do any one know how it is supposed to work?

Boxiong




---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to