Hi all, I'm all for it if we can replace the current local MIME parsing stuff with MIME4J.. I just wanted to make sure it has everything we need. Earlier I was worried about the differed building (cause Oleg said that it behaves like SAX not like StAX, which hinted otherwise), but according to Oleg MIME4J supports it.
>I also find it regrettable >that Axiom is currently unable to parse and build MIME messages without >buffering the first MIME part (SOAP message) in memory. It may not be a >big problem for a great deal of applications, but for some it certainly is. Having the above functionality would a good addition, though I also don't see much use of it for most of the applications. In our initial implementation we assumed that the SOAP part would be relatively small when the message have attachments. Regarding the JAXWS issue, we might be able to wrap MIME4J with JavaMail interfaces. IIRC even in the current impl we do it up to some extent. I was planning on having a look at the patch, but wasn't able to find enough time to go through the whole thing. I prefer if we can create a separate branch and complete the impl together with differed binding and then to compare the implementations. thanks, Thilina On Sat, Oct 4, 2008 at 4:42 PM, Sanjiva Weerawarana <[EMAIL PROTECTED]> wrote: > Oleg, +1 for putting it in - its behind an interface anyway and if JAX-WS > requires JavaMail then it can use that implementation. > > Thilina, didn't you say that the current code doesn't use JavaMail? If so > what this does is replace some local code with a shared library .. which is > a good thing in terms of long term maintenance. > > Sanjiva. > > Oleg Kalnichevski wrote: >> >> On Thu, Oct 02, 2008 at 12:22:17PM -0400, Davanum Srinivas wrote: >>> >>> Oleg, >>> >>> One problem from my personal point of view is that for JAXWS support >>> we need javamail :( to be compliant to the spec. >>> >>> -- dims >>> >> >> Davanum, >> >> I understand your position, yet I find it regrettable that JAX-WS >> specific requirements dictate architectural decisions for Axiom which is >> meant a generic XML processing framework. I also find it regrettable >> that Axiom is currently unable to parse and build MIME messages without >> buffering the first MIME part (SOAP message) in memory. It may not be a >> big problem for a great deal of applications, but for some it certainly >> is. >> >> Oleg >> >> >> >> >>> On Thu, Oct 2, 2008 at 11:48 AM, Oleg Kalnichevski <[EMAIL PROTECTED]> >>> wrote: >>>> >>>> On Sun, Sep 28, 2008 at 10:54:33AM -0500, Thilina Gunarathne wrote: >>>>> >>>>> Hi Oleg,Apologies for been this late to reply... >>>>> >>>>> There is a little catch that you might need to consider.. Axis2 MIME >>>>> parsing >>>>> works similar to StAX. Axis2 MIME parser does differed parsing of the >>>>> MIME >>>>> messages. It parses MIME parts only when needed and requested by the >>>>> AXIOM >>>>> model. Axiom requests the contents of the attachments only when >>>>> somebody >>>>> reads the contents of the corresponding OMText object (not when it >>>>> creates >>>>> the object model). So altogether when using MTOM+ Axiom it's a double >>>>> layer differed parsing, differed parsing of XML & differed parsing of >>>>> Attachments. But to be honest I'm not sure whether there are any people >>>>> taking advantage of this.. One reason for us not use the JavaMail was >>>>> it's >>>>> inability to do differed MIME parsing.. >>>>> Also Axis2 supports streaming of attachments. That means somebody can >>>>> directly stream the attachments stream from the input to the output. >>>>> This >>>>> comes handy when proxying or mediating. This case might become unusable >>>>> (I >>>>> can't really remember how it works now :(.. ) if we read and parse the >>>>> whole >>>>> MIME message.. Once again I'm not sure whether people really use it >>>>> (Synapse??).. >>>>> >>>>> All and all I believe the ability to differed parse MIME attachments >>>>> will be >>>>> a good feature for MIME4J too.. >>>>> >>>> Thilina, >>>> >>>> mime4j is perfectly capable of deferred (or on demand) parsing of MIME >>>> messages. One can retrieve just the first mime part and then defer the >>>> processing of all subsequent parts only when / if accessed. >>>> >>>> Presently the patch I submitted (WSCOMMONS-387) does not provide support >>>> for the deferred parsing, but it should be relatively trivial to add it. >>>> However, as no one showed any interest in WSCOMMONS-387 so far I am >>>> somewhat reluctant to put any more work into it. >>>> >>>> Oleg >>>> >>>> >>>>> thanks, >>>>> Thilina >>>>> >>>>> On Wed, Sep 17, 2008 at 1:06 PM, Oleg Kalnichevski <[EMAIL PROTECTED]> >>>>> wrote: >>>>> >>>>>> Thilina, >>>>>> >>>>>> Mime4j parser works similarly to SAX. It is an event based API. One >>>>>> can >>>>>> provide a custom handler implementing a particular custom processing >>>>>> logic in response to appearance of a certain MIME element in the data >>>>>> stream, such as a MIME header or a content part. >>>>>> >>>>>> Oleg >>>>>> >>>>>>> thanks, >>>>>>> Thilina >>>>>>> >>>>>>> >>>>>>>> Oleg Kalnichevski wrote: >>>>>>>> >>>>>>>>> Folks, >>>>>>>>> >>>>>>>>> Would there be any interest in a SwA implementation based on Apache >>>>>>>>> mime4j [1]? Mime4j can handle very complex MIME messages, is >>>>>> >>>>>> reasonably >>>>>>>>> >>>>>>>>> fast, and, most importantly, can stream complex MIME messages in >>>>>>>>> and >>>>>> >>>>>> out >>>>>>>>> >>>>>>>>> with a predictable memory footprint (using just a small internal >>>>>> >>>>>> buffer >>>>>>>>> >>>>>>>>> of a constant length) >>>>>>>>> I _personally_ find Java Activation API pretty suboptimal and would >>>>>> >>>>>> like >>>>>>>>> >>>>>>>>> Axiom to provide an alternative API based on a fully streamable >>>>>>>>> model. >>>>>>>>> Let me know what you think. >>>>>>>>> >>>>>>>>> Oleg >>>>>>>>> >>>>>>>>> [1] http://james.apache.org/mime4j/index.html >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> -- >>>>>>>> Sanjiva Weerawarana, Ph.D. >>>>>>>> Founder & Director; Lanka Software Foundation; >>>>>> >>>>>> http://www.opensource.lk/ >>>>>>>> >>>>>>>> Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/ >>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>> Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/ >>>>>>>> >>>>>>>> Blog: http://sanjiva.weerawarana.org/ >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> -- >>>>> Thilina Gunarathne - http://thilinag.blogspot.com >>> >>> >>> -- >>> Davanum Srinivas :: http://davanum.wordpress.com > > -- > Sanjiva Weerawarana, Ph.D. > Founder & Director; Lanka Software Foundation; http://www.opensource.lk/ > Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/ > Member; Apache Software Foundation; http://www.apache.org/ > Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/ > > Blog: http://sanjiva.weerawarana.org/ > -- Thilina Gunarathne - http://thilinag.blogspot.com