Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 3.1.1
-
Fix Version/s: 3.1.4
-
Component/s: Transports
-
Labels:None
-
Estimated Complexity:Unknown
Description
The cxf-rt-transports-http-3.1.1.jar contains several OSGi HTTP interface classes and the classes are exported in the OSGi Export-Package for the bundle.
... org/osgi/ org/osgi/service/ org/osgi/service/http/ org/osgi/service/http/HttpContext.class org/osgi/service/http/HttpService.class org/osgi/service/http/NamespaceException.class org/osgi/service/http/package.html org/osgi/service/http/packageinfo ...
Export-Package: org.osgi.service.http;version="1.2.1",...
The bundle should not export classes from the OSGi HTTP spec in Export-Package; it is the responsibility of the OSGi HTTP service to export the specification classes.
The inclusion of the classes also causes problems for us because we have a Java project with a large classpath (including CXF). We embed an OSGi container inside the outer JVM and we run into problems if CXF is in the outer classpath because the classes in cxf-rt-transports-http-3.1.1.jar cause classloading conflicts with the OSGi HTTP service inside the OSGi container.
You should eliminate the interface classes from the JAR to prevent problems like this.