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/