Axis team,

I just wanted to summarize the problem we faced recently and check with
you the possible alternatives.
We have just finished packaging a web-service that simply sends email.
The main problem is that we had to use the Sun distribution of javamail
and jaf.
Thus our service hierarchy looks like:

Service.aar
|_lib
  |_mail.jar
  |_jaf.jar
  |_...

However since Axis2 shipped by default with geronimo-javamail and
geronimo-activation which are not yet complete, there is class issue at
runtime.
In order to workaround this problem, we created our own class loader to
redirect javax.mail and javax.activation to the correct classes.
We unfortunately had no luck with this approach as we can only set the
Service class loader and we don't have access to the classloader that
loads initially the javax.mail libraries from the geronimo jars:

-----------------------------
AxisService service =
 
msgContext.getOperationContext().getServiceContext().getAxisService();
service.setClassLoader(myOwnStuff);
-----------------------------

The only workaround so far is to replace in the Axis2 distribution the
geronimo jars with the sun jars.
I hope I succeeded in describing the problem as it is not a common one
nor an easy one.

I have two questions:
  1- is it possible to have access to the ClassLoader that loads
initially the Axis2 libraries ?
  2- if not, is it possible to ship Axis2 with the Sun libraries. I
haven't seen something that would prevent to distribute it in the
license.

Many thanks,

Arnaud

Reply via email to