axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thilina Gunarathne <cset...@gmail.com>
Subject [Axis2] MTOM issues and progress
Date Wed, 27 Jul 2005 07:11:31 GMT
- there are so many while loops which don't check if there are any
more characters in the stream
We are checking for end of stream in two places..

   1. If the message ends in the MIME standard way it should have "--" as 
   a suffix to the last mime boundary... We check for that whenever we read a 
   Mime part. Then we will be setting a Flag in the MIMEHelper 
   2. In the case if the message does not end as it is said in MIME, 
   We'll be checking the size of the MIME part whenever we read a mime Part. If 
   it's Zero we assume that the Stream has ended and throws an Exception..
    
 
- are u handling unsupported media exception? are we throwing it. are
we catching it? are we handling all the exceptions in the specs? are
there test cases for it?
We are not handling any unsupported media exception. I doubt whether we need 
to support any. If it is unknown we can always send it as Application/Octet 
Stream....
Specs does not define any exceptions explicitly.
We are handling exceptions regarding to handling of MIME parts. We handle 
the following cases....

   1. Referred part is not found (if content-id is not found in any of 
   the parts) 
   2. two parts contain same content-id (this will be caught only when 
   the second part is parsed) 

We don't handle the case if somebody referenced a MIME Part using content 
location...
Is there any more exceptions we need to handle....

 - are we handling all the http status codes specified in mtom/xop specs?
IMHO this is out of scope of MTOM ..... + spec does not define any such 
things.

 - why are we createing intermediate ByteArrayOutputstreams and putting
things in them. what is going to happen if we get 1 GB attachment or
512 MB soap part? there should not be any intermediate storage
especially of things that are likely to grow.
We use ByteArrayOutputStreams only to buffer and store the SOAP Envelope 
created by the Stream Writer... IMO it's a very rare situation for a SOAP 
envelope to be that big when we are using attachments... The future plan for 
this problem is to come up our own MIME Writer so that we'll be able to use 
the actuall OutputStream for the Stream Writer. 
We don't store any attachments in ByteArrayOutputStreams..

 - was there any effort to at least architect the code so that we can
add mime and SwA later when we get a chance?
 We have provided basic support for SwA in .9... We even tested sending MTOM 
message to Axis 1.2. Axis1.2 successfully recognised it as SwA.

 - Can we get rid of httptransportsender as we talked about earlier?
Yep.. MTOM is not tightly coupled to any transport...... This is already 
done......

 Regards,
~Thilina

-- 
"May the SourcE be with u" 
http://www.bloglines.com/blog/thilina

Mime
View raw message