[
https://issues.apache.org/jira/browse/AXIOM-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13895868#comment-13895868
]
Hudson commented on AXIOM-457:
------------------------------
SUCCESS: Integrated in ws-axiom-trunk #1776 (See
[https://builds.apache.org/job/ws-axiom-trunk/1776/])
AXIOM-457: Add uses constraints to Export-Package directives to avoid
LinkageErrors at runtime. (veithen: rev 1566259)
* /webservices/axiom/trunk/modules/axiom-api/pom.xml
* /webservices/axiom/trunk/modules/axiom-c14n/pom.xml
* /webservices/axiom/trunk/modules/axiom-common-impl/pom.xml
* /webservices/axiom/trunk/modules/axiom-dom/pom.xml
* /webservices/axiom/trunk/modules/axiom-impl/pom.xml
* /webservices/axiom/trunk/modules/axiom-jaxb/pom.xml
* /webservices/axiom/trunk/systests/osgi-tests/pom.xml
*
/webservices/axiom/trunk/systests/osgi-tests/src/test/java/org/apache/axiom/test/UsesConstraintsTest.java
> java.lang.LinkageError: "javax/xml/stream/XMLStreamReader" by using
> org.apache.axiom.om.impl.llom.OMStAXWrapper
> ---------------------------------------------------------------------------------------------------------------
>
> Key: AXIOM-457
> URL: https://issues.apache.org/jira/browse/AXIOM-457
> Project: Axiom
> Issue Type: Bug
> Components: API
> Affects Versions: 1.2.14
> Reporter: Andy Schmidt
> Assignee: Andreas Veithen
> Fix For: 1.2.15
>
>
> I would like to use Axis2 OSGi bundle with Axiom in my OSGI-Runtime.
> My setting looks like:
> START LEVEL 1
> ID|State |Level|Name
> 0|Active | 0|System Bundle (4.2.1)
> 5|Active | 1|Apache JAMES Mime4j (Core) (0.7.2)
> 6|Active | 1|Axiom API (1.2.14)
> 7|Active | 1|Axiom DOM (1.2.14)
> 8|Active | 1|Axiom Impl (1.2.14)
> 9|Active | 1|Apache Commons Codec (1.9.0)
> 10|Active | 1|Commons FileUpload (1.3.0)
> 11|Active | 1|Apache Geronimo Bundles: commons-httpclient-3.1 (3.1.0.2)
> 12|Active | 1|Commons IO (2.4.0)
> 13|Active | 1|Commons Logging (1.1.3)
> 14|Active | 1|de.kisters.wab.amigw.hello (5.80.0.SNAPSHOT)
> 15|Active | 1|Activation 1.1 (1.1.0)
> 16|Active | 1|JavaMail 1.4 (1.7.1)
> 17|Active | 1|geronimo-jms_1.1_spec (1.1.1)
> 18|Active | 1|geronimo-stax-api_1.0_spec (1.0.1)
> 19|Active | 1|Web Services Metadata 2.0 (1.1.3)
> 20|Active | 1|Apache HttpClient OSGi bundle (4.2.4)
> 21|Active | 1|Apache HttpCore OSGi bundle (4.2.4)
> 22|Active | 1|jsr311-api (1.1.1)
> 23|Active | 1|Apache Neethi (3.0.2)
> 24|Active | 1|org.apache.axis2.osgi (1.0.0.2)
> 25|Active | 1|Apache Felix Bundle Repository (1.6.6)
> 26|Active | 1|Apache Felix Configuration Admin Service (1.8.0)
> 27|Active | 1|Apache Felix EventAdmin (1.3.2)
> 28|Active | 1|Apache Felix Gogo Command (0.12.0)
> 29|Active | 1|Apache Felix Gogo Runtime (0.10.0)
> 30|Active | 1|Apache Felix Gogo Shell (0.10.0)
> 31|Active | 1|Apache Felix Http Jetty (2.2.2)
> 32|Active | 1|Apache Felix (4.2.1)
> 33|Active | 1|Apache Felix Metatype Service (1.0.10)
> 34|Active | 1|Apache Felix Declarative Services (1.8.2)
> 35|Active | 1|Apache ServiceMix :: Bundles :: wsdl4j (1.6.2.6)
> 36|Active | 1|Stax2 API (3.1.1)
> 37|Active | 1|Woden - API (1.0.0)
> 38|Active | 1|Woden - Commons (1.0.0)
> 39|Active | 1|Woden - DOM (1.0.0)
> 40|Active | 1|Woodstox XML-processor (4.2.0)
> 41|Active | 1|XmlSchema (1.4.7)
> After deploying my web application (simple soap hello world test bundle) and
> sending a soap request i got that error message:
> SEVERE: loader constraint violation: loader (instance of
> org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5)
> previously initiated loading for a different type with name
> "javax/xml/stream/XMLStreamReader"
> java.lang.LinkageError: loader constraint violation: loader (instance of
> org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5)
> previously initiated loading for a different type with name
> "javax/xml/stream/XMLStreamReader"
> at
> com.moodykettle.webservice.helloworld.SayHello$Factory.parse(SayHello.java:354)
> at
> de.kisters.amigw.mds.web.service.HelloWorldServiceMessageReceiverInOut.fromOM(HelloWorldServiceMessageReceiverInOut.java:138)
> at
> de.kisters.amigw.mds.web.service.HelloWorldServiceMessageReceiverInOut.invokeBusinessLogic(HelloWorldServiceMessageReceiverInOut.java:43)
> at
> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
> at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
> at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
> at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
> at
> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
> at
> org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
> at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
> at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> at
> org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
> at
> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
> at
> org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> I dived deeper into that issue. The class
> org.apache.axiom.om.impl.llom.OMStAXWrapper from the Axiom-Impl project
> implements the interface XMLStreamReader from package javax.xml.stream.
> I looked at the wiring of the OSGi-Runtime. The Axis2 OSGi bundle imports the
> javax.xml.stream package in version 1.0 and wires that with the geronimo stax
> api bundle, because it exports this package in version 1.0. Axiom-Impl bundle
> wires that package with the felix runtime bundle (java vm), because it
> doesn't need the version 1.0 explicit. Thats why this error occurs. That
> could be resolved if Axiom-Impl exports there packages with using
> declarations or imports that package also in version 1.0 from geronimo stax
> api.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]