Package uses conflict: Import-Package: org.apache.axis2.transport.http deploying web service in Geronimo application server with httpclient bundle installed.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Package uses conflict: Import-Package: org.apache.axis2.transport.http deploying web service in Geronimo application server with httpclient bundle installed.

javi
This post was updated on .
I’m developing a Rest Web Service, but when it’s deployed in the Geronimo application server (3.0.1), I get the following error:

org.osgi.framework.BundleException: The bundle "default.ConsultarProductosWebServer_1.0.0 [388]" could not be resolved.

Reason:
    Package uses conflict: Import-Package: org.apache.axis2.transport.http; version="[1.6.1,1.6.1]",
    Package uses conflict: Import-Package: org.apache.axis2.transport.http.server; version="[1.6.1,1.6.1]"
   
at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1327)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1311)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:299)
at org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:311)…


This is my import packages (in Geronimo-web.xml):


        <sys:import-package>org.apache.http; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.client; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.client.entity; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.client.methods; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.impl.client; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.message; version="4.4.0"</sys:import-package>
       
        <sys:import-package>org.apache.http.entity; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.impl.entity; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.impl.io; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.impl; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.io; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.params; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.protocol; version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.util; version="4.4.0"</sys:import-package>

In the Geronimo application server, there are two active bundles, previously installed on my:

·         org.apache.httpcomponents.httpclient_4.4

Exported packages:

org.apache.http.auth.params;version="4.4";
   uses:="org.apache.http.params",
org.apache.http.client.entity;version="4.4";
   uses:="org.apache.http,  org.apache.http.entity",
org.apache.http.client.methods;version="4.4";
    uses:="org.apache.http,  org.apache.http.client.config,  org.apache.http.concurrent,
        org.apache.http.conn,    org.apache.http.message,    org.apache.http.params",
org.apache.http.client.params;version="4.4";
    uses:="org.apache.http,  org.apache.http.auth.params,  org.apache.http.client.config,
        org.apache.http.conn.params,  org.apache.http.cookie.params,
        org.apache.http.params",
org.apache.http.client;version="4.4";
    uses:="org.apache.http,  org.apache.http.auth,  org.apache.http.client.methods,
        org.apache.http.conn,  org.apache.http.conn.routing,  org.apache.http.cookie,
        org.apache.http.params,  org.apache.http.protocol",


 

·         org.apache.httpcomponents.httpcore_4.4

Exported packages:

 

org.apache.http.entity;version="4.4";
    uses:="org.apache.http",
org.apache.http.impl.entity;version="4.4";
    uses:="org.apache.http,  org.apache.http.entity,  org.apache.http.io",
org.apache.http.impl.io;version="4.4";
    uses:="org.apache.http,  org.apache.http.config, org.apache.http.io,
        org.apache.http.message,  org.apache.http.params,  org.apache.http.util",
org.apache.http.impl;version="4.4";
    uses:="org.apache.http,  org.apache.http.config, org.apache.http.entity,
        org.apache.http.impl.entity,  org.apache.http.io,  org.apache.http.params,
        org.apache.http.protocol",
org.apache.http.io;version="4.4";
    uses:="org.apache.http,  org.apache.http.config,  org.apache.http.util",
org.apache.http.message;version="4.4";
    uses:="org.apache.http,  org.apache.http.params,  org.apache.http.util",
org.apache.http.nio.entity;version="4.4";
    uses:="org.apache.http,  org.apache.http.entity,  org.apache.http.nio,  org.apache.http.nio.util",
org.apache.http.nio.params;version="4.4";
    uses:="org.apache.http.params",
org.apache.http.params;version="4.4";
    uses:="org.apache.http,  org.apache.http.config",
org.apache.http.util;version="4.4";
    uses:="org.apache.http",
org.apache.http;version="4.4";
    uses:="org.apache.http.params,  org.apache.http.protocol,  org.apache.http.util",


The packages org.apache.axis2.transport.http (version=1.6.1) and org.apache.axis2.transport.http.server (version=1.6.1) are exported by the bundle org.apache.geronimo.bundles.axis2 (version=1.6.1.2). The latter bundle imports the following packages (among others), but without specifying version:

 

Import-Package:
        org.apache.http,
        org.apache.http.entity,
        org.apache.http.impl,
        org.apache.http.impl.entity,
        org.apache.http.impl.io,
        org.apache.http.io,
        org.apache.http.message,
        org.apache.http.params,
        org.apache.http.protocol,
        org.apache.http.util,

 

And it exports the following packages:

 

Export-Package:

    org.apache.axis2.transport.http.server;version="1.6.1";
    uses:="javax.xml.namespace,
        org.apache.http,
        org.apache.http.entity,
        org.apache.http.impl,
        org.apache.http.impl.entity,
        org.apache.http.impl.io,
        org.apache.http.io,
        org.apache.http.message,
        org.apache.http.params,
        org.apache.http.protocol,
        org.apache.http.util...
       
    org.apache.axis2.transport.http;version="1.6.1";
    uses:="javax.activation,
        org.apache.http,
        org.apache.http.message,
        org.apache.http.util...

       

The bundle from which the packets org.apache.htt.* are imported, is org.apache.geronimo.bundles.httpcore (version=4.0.1.1), which Export-Package in the manifest file is:

 

        org.apache.http (version=0.0.0)
        org.apache.http.entity (version=0.0.0)
        org.apache.http.impl (version=0.0.0)
        org.apache.http.impl.entity (version=0.0.0)
        org.apache.http.impl.io (version=0.0.0)
        org.apache.http.io (version=0.0.0)
        org.apache.http.message (version=0.0.0)
        org.apache.http.params (version=0.0.0)
        org.apache.http.protocol (version=0.0.0)
        org.apache.http.util (version=0.0.0)

I think the conflict is that the bundle org.apache.geronimo.bundles.axis2, when importing the packages org.apache.http*, doesn’t specify version and conflicts with the exported packages org.apache.http* of bundles org.apache.httpcomponents.httpclient_4.4 and org.apache.httpcomponents.httpcore_4.4

 I spent long time researching the problem and found interesting places to explain the problem of "Package use conflict". However, I don’t know how to solve this problem.
Reply | Threaded
Open this post in threaded view
|

Re: Package uses conflict: Import-Package: org.apache.axis2.transport.http deploying web service in Geronimo application server with httpclient bundle installed.

Kevin Huntly

Did you happen to include the axis jars in web-inf/lib?

________________________________________________

Kevin Huntly
79 Aurora Drive
Cheektowaga, NY 14215
Email: [hidden email]
Cell: (716) 341-5669
LinkedIn: http://www.linkedin.com/in/kevinhuntly
________________________________________________

-----BEGIN GEEK CODE BLOCK-----
Version: 1.0
GCS/IT d+ s a C++ UL+++$ P+(++) L+++ E---
W+++ N+ o K(+) w--- O- M-- V-- PS+ PE Y(+)
PGP++(+++) t+ 5-- X-- R+ tv+ b++  DI++ D++
G++ e(+) h--- r+++ y+++*
------END GEEK CODE BLOCK------

On Mar 4, 2015 8:23 AM, "javi" <[hidden email]> wrote:
I’m developing a Rest Web Service, but when it’s deployed in the Geronimo
application server (3.0.1), I get the following error:

org.osgi.framework.BundleException: The bundle
"default.ConsultarProductosWebServer_1.0.0 [388]" could not be resolved.

Reason:
    Package uses conflict: Import-Package: org.apache.axis2.transport.http;
version="[1.6.1,1.6.1]",
    Package uses conflict: Import-Package:
org.apache.axis2.transport.http.server; version="[1.6.1,1.6.1]"

at
org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1327)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1311)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:299)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:311)…


This is my import packages (in Geronimo-web.xml):


        <sys:import-package>org.apache.http;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.client;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.client.entity;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.client.methods;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.impl.client;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.message;
version="4.4.0"</sys:import-package>

        <sys:import-package>org.apache.http.entity;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.impl.entity;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.impl.io;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.impl;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.io;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.params;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.protocol;
version="4.4.0"</sys:import-package>
        <sys:import-package>org.apache.http.util;
version="4.4.0"</sys:import-package>

In the Geronimo application server, there are two active bundles, previously
installed on my:

·         org.apache.httpcomponents.httpclient_4.4

Exported packages:

org.apache.http.auth.params;version="4.4";
   uses:="org.apache.http.params",
org.apache.http.client.entity;version="4.4";
   uses:="org.apache.http,  org.apache.http.entity",
org.apache.http.client.methods;version="4.4";
    uses:="org.apache.http,  org.apache.http.client.config,
org.apache.http.concurrent,
        org.apache.http.conn,    org.apache.http.message,
org.apache.http.params",
org.apache.http.client.params;version="4.4";
    uses:="org.apache.http,  org.apache.http.auth.params,
org.apache.http.client.config,
        org.apache.http.conn.params,  org.apache.http.cookie.params,
        org.apache.http.params",
org.apache.http.client;version="4.4";
    uses:="org.apache.http,  org.apache.http.auth,
org.apache.http.client.methods,
        org.apache.http.conn,  org.apache.http.conn.routing,
org.apache.http.cookie,
        org.apache.http.params,  org.apache.http.protocol",




·         org.apache.httpcomponents.httpcore_4.4

Exported packages:



org.apache.http.entity;version="4.4";
    uses:="org.apache.http",
org.apache.http.impl.entity;version="4.4";
    uses:="org.apache.http,  org.apache.http.entity,  org.apache.http.io",
org.apache.http.impl.io;version="4.4";
    uses:="org.apache.http,  org.apache.http.config, org.apache.http.io,
        org.apache.http.message,  org.apache.http.params,
org.apache.http.util",
org.apache.http.impl;version="4.4";
    uses:="org.apache.http,  org.apache.http.config, org.apache.http.entity,
        org.apache.http.impl.entity,  org.apache.http.io,
org.apache.http.params,
        org.apache.http.protocol",
org.apache.http.io;version="4.4";
    uses:="org.apache.http,  org.apache.http.config,  org.apache.http.util",
org.apache.http.message;version="4.4";
    uses:="org.apache.http,  org.apache.http.params,  org.apache.http.util",
org.apache.http.nio.entity;version="4.4";
    uses:="org.apache.http,  org.apache.http.entity,  org.apache.http.nio,
org.apache.http.nio.util",
org.apache.http.nio.params;version="4.4";
    uses:="org.apache.http.params",
org.apache.http.params;version="4.4";
    uses:="org.apache.http,  org.apache.http.config",
org.apache.http.util;version="4.4";
    uses:="org.apache.http",
org.apache.http;version="4.4";
    uses:="org.apache.http.params,  org.apache.http.protocol,
org.apache.http.util",


The packages org.apache.axis2.transport.http (version=1.6.1) and
org.apache.axis2.transport.http.server (version=1.6.1) are exported by the
bundle org.apache.geronimo.bundles.axis2 (version=1.6.1.2). The latter
bundle imports the following packages (among others), but without specifying
version:



Import-Package:
        org.apache.http,
        org.apache.http.entity,
        org.apache.http.impl,
        org.apache.http.impl.entity,
        org.apache.http.impl.io,
        org.apache.http.io,
        org.apache.http.message,
        org.apache.http.params,
        org.apache.http.protocol,
        org.apache.http.util,



And it exports the following packages:



Export-Package:

    org.apache.axis2.transport.http.server;version="1.6.1";
    uses:="javax.xml.namespace,
        org.apache.http,
        org.apache.http.entity,
        org.apache.http.impl,
        org.apache.http.impl.entity,
        org.apache.http.impl.io,
        org.apache.http.io,
        org.apache.http.message,
        org.apache.http.params,
        org.apache.http.protocol,
        org.apache.http.util...

    org.apache.axis2.transport.http;version="1.6.1";
    uses:="javax.activation,
        org.apache.http,
        org.apache.http.message,
        org.apache.http.util...



The bundle from which the packets org.apache.htt.* are imported, is
org.apache.geronimo.bundles.httpcore (version=4.0.1.1), which Export-Package
in the manifest file is:



        org.apache.http (version=0.0.0)
        org.apache.http.entity (version=0.0.0)
        org.apache.http.impl (version=0.0.0)
        org.apache.http.impl.entity (version=0.0.0)
        org.apache.http.impl.io (version=0.0.0)
        org.apache.http.io (version=0.0.0)
        org.apache.http.message (version=0.0.0)
        org.apache.http.params (version=0.0.0)
        org.apache.http.protocol (version=0.0.0)
        org.apache.http.util (version=0.0.0)

I think the conflict is that the bundle org.apache.geronimo.bundles.axis2,
when importing the packages org.apache.http*, doesn’t specify version.


I spent long time researching the problem and found interesting places to
explain the problem of "Package use conflict". However, I don’t know how to
solve this problem.



--
View this message in context: http://apache-geronimo.328035.n3.nabble.com/Package-uses-conflict-Import-Package-org-apache-axis2-transport-http-deploying-web-service-in-Geroni-tp3988832.html
Sent from the Users mailing list archive at Nabble.com.
Reply | Threaded
Open this post in threaded view
|

Re: Package uses conflict: Import-Package: org.apache.axis2.transport.http deploying web service in Geronimo application server with httpclient bundle installed.

javi
Thanks for yout replying Kevin.

In my web-inf/lib only there are two simple jars that are necessary to the web service. The other libraries are bundles.
I prefer to keep this solution for the issue of modularity and to avoid problems such NoClassDefFoundError.