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 via email to