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