Description
The problem:
- In Axis2 1.5.2, we upgraded Axiom to 1.2.9, and Axis2 1.5.3 uses Axiom 1.2.10.
- In r741656, David Illsley changed the way Axiom is OSGi-ified. In particular the axiom-impl bundle now has Private-Package: org.apache.axiom.*. This is of course entirely correct because other bundles should only depend on the Axiom API, not on classes of a particular implementation.
- The Axis2 OSGi bundle has Import-Package: org.apache.axiom.om.impl.llom. The reason is that there is indeed code in Axis2 that depends directly on the LLOM implementation classes. This should of course not be the case, but that's the way it is for the moment.
- There are no unit tests for the Axis2 OSGi bundle.
Result: In Axis2 1.5.2, the OSGi bundle is broken because of the upgrade to Axiom 1.2.9. It is expected that this issue also affects the current trunk.
Steps to reproduce (with Axis2 1.5.3):
1. Download, extract and start the Felix Framework Distribution.
2. Install the following bundles:
install http://repo1.maven.org/maven2/org/apache/ws/commons/axiom/axiom-api/1.2.10/axiom-api-1.2.10.jar
install http://repo1.maven.org/maven2/org/apache/ws/commons/axiom/axiom-impl/1.2.10/axiom-impl-1.2.10.jar
install http://apache.megamobile.be//felix/org.apache.felix.scr-1.6.0.jar
install http://repo1.maven.org/maven2/org/apache/axis2/org.apache.axis2.osgi/1.5.3/org.apache.axis2.osgi-1.5.3.jar
install http://repo2.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.wsdl4j/1.6.2_3/org.apache.servicemix.bundles.wsdl4j-1.6.2_3.jar
install http://repo2.maven.org/maven2/org/apache/geronimo/specs/geronimo-activation_1.1_spec/1.1/geronimo-activation_1.1_spec-1.1.jar
install http://repo2.maven.org/maven2/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar
install http://repo2.maven.org/maven2/org/apache/geronimo/specs/geronimo-ws-metadata_2.0_spec/1.1.3/geronimo-ws-metadata_2.0_spec-1.1.3.jar
install http://repo2.maven.org/maven2/org/apache/geronimo/specs/geronimo-javamail_1.4_spec/1.7.1/geronimo-javamail_1.4_spec-1.7.1.jar
install http://repo2.maven.org/maven2/org/apache/geronimo/specs/geronimo-servlet_2.5_spec/1.2/geronimo-servlet_2.5_spec-1.2.jar
install http://repo2.maven.org/maven2/org/apache/geronimo/specs/geronimo-stax-api_1.0_spec/1.0.1/geronimo-stax-api_1.0_spec-1.0.1.jar
install http://repository.springsource.com/maven/bundles/external/org/apache/commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar
3. Attempt to start the Axis2 bundle.
This results in the following error:
org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.axis2.osgi [8]: Unable to resolve 8.0: missing requirement [8.0] package; (package=org.apache.axiom.om.impl.llom)
Attachments
Issue Links
- blocks
-
AXIS2-4847 IllegalStateException: Can only register services while bundle is active or activating.
- Resolved