Hi, I am sorry not being able to reply soon.
There is a undergoing work on fully supporting Axis2 in OSGi environment. You will be able to get more information from ( https://svn.apache.org/repos/asf/webservices/axis2/scratch/java/saminda/osgi_test/axis2_osgi_integration.pdf). Axis2 comes as a bundle and all you have to is to install and start org.apache.axis2.osgi bundle. In prior work, it shows how to create a bundle which mimics Axis2 service archive. You can you this in your work as well. IMHO, all you have to do is to create a Tuscany bundle which export necessary classes and another bundle for the web service which imports Tuscan classes that mimics Axis2 service archive and install and start 'em. Thank you! Saminda On Sat, Jan 3, 2009 at 2:26 AM, Mike Edwards < [email protected]> wrote: > Folks, > > I am writing as a developer on the Apache Tuscany project. > > We are building a version of Tuscany that runs on OSGi - and we use Axis2 > in our codebase. > > We're experiencing some problems associated with running Axis2 with Tuscany > under OSGi and I'd > appreciate any help you can give us. > > The problem we've run into relates to user-provided Message Receiver > classes that are part of the > Tuscany code and which are configured into axis2.xml as follows: > > <messageReceivers> > > <!-- Added by Tuscany --> > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" > > > class="org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInMessageReceiver"/> > > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" > > class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" > > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> > > <!-- Added by Tuscany --> > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" > > > class="org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSyncMessageReceiver"/> > > <!-- Added by Tuscany --> > <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only" > > > class="org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInMessageReceiver"/> > > <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only" > > class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> > <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out" > > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> > > <!-- Added by Tuscany --> > <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out" > > > class="org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSyncMessageReceiver"/> > > </messageReceivers> > > When we run the code using OSGi, we get class loading exceptions for those > Tuscany message receiver > classes, since the code that loads those classes is in the Axis2 code > (AxisConfigBuilder) - but that > code has no declared dependencies on the Tuscany packages containing the > message receivers - so that > we get class not found exceptions. > > Do you have a solution for this problem? > > I got the code working with the Eclipse/Equinox version of OSGi by patching > the following into the > manifest for the axis2-kernel jar: > > Eclipse-BuddyPolicy: dependent > > ...and then declaring the relevant Tuscany jar files as being buddies of > the axis2-kernel bundle in > thier manifests. > > However, I know that this is really a sticking-plaster solution and will > only currently work for the > Equinox version of OSGi. Do you have a nice neat solution that will work > for all the OSGi > implementations? > > > Yours, Mike. > >
