AEM/CQ - javax.xml.namespace can't resolve OSGI dependency

jineetv21622325

05-06-2017

'm using AEM 6.2 and I'm currently implementing WebService. I included all dependency jars in OSGI bundle which I created externally and all dependency issue got resolved except one:

javax.xml.namespace,version=[1.0,2) -- Cannot be resolved

When I checked in the maven using depfinder tool, it showed me as below:

<dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.fragment.ws</artifactId> <version>1.0.2</version> <scope>provided</scope> </dependency>

However, in my other custom project, the javax.xml.namespace is showing resolved state.

I'm stuck in this situation and any pointers will be really appreciated.

Thanks, Jineet

Accepted Solutions (1)

Accepted Solutions (1)

smacdonald2008

05-06-2017

You should be using the Dependency finder that i referenced in this thread and then get that into you Dependencies section of your POM. For AEM 6.2 - see this:

dd1.png

Answers (16)

Answers (16)

MrynalKumar

27-04-2020

@jineetv21622325 , I also faced similar error while upgrading from AEM 6.3 to 6.5 SP4. 

 

Error Log -

24.03.2020 15:09:40.573 *ERROR* [qtp1041007297-2360] org.apache.felix.http.jetty %bundles.pluginTitle: 
Cannot start (org.osgi.framework.BundleException: Unable to resolve com.XXX.XXXX.XXX [590](R 590.0):
missing requirement [com.XXX.XXX.XXX [590](R 590.0)] osgi.wiring.package;
(&(osgi.wiring.package=javax.xml.namespace)(version>=0.0.0)(!(version>=1.0.0)))
Unresolved requirements: [[com.XXX.XXX.XXX [590](R 590.0)]
osgi.wiring.package; (&(osgi.wiring.package=javax.xml.namespace)(version>=0.0.0)(!(version>=1.0.0)))])
org.osgi.framework.BundleException: Unable to resolve com.XXX.XXX.XXX [590](R 590.0): missing requirement

 

Reason - 

As you see in the error log above, Bundle Exception is due to failed OSGI Wiring. Version of javax.xml.namespace is not suffiecient or compatible enough. 

 

Solution -

jineetv21622325

05-06-2017

smacdonald2008​, I found that if I include org.apache.axis2 dependency, the bundle shows unresolved for javax.xml.namespace. But on removing org.apache.axis2 dependency, the bundle goes in resolved state.

I'm implementing web service using Apache Axis 2 and I need to use this dependency for my project work.

Not sure what conflict it is creating with Apache Axis 2 API.

Thanks,

Jineet

smacdonald2008

05-06-2017

Here is a tip (but you would need to do it each time you build the bundle) - open the bundle in ZIP tool. Open the  Manifest file.

Remove the version information beside the package - then it will pick up the available version in AEM.

package.png

Jörg_Hoh

Employee

05-06-2017

Hi,

There's a version mismatch, so it looks like you compile against a wrong version of the AEM uber jar. What version of the uber.jar are you using and what version of AEM are you targetting? Or: what version of the AEM archetype are you using?

regards,

Jörg

jineetv21622325

05-06-2017

Thanks smacdonald2008​, I did find the dependency by entering javax.xml.namespace and below is the result returned:

Package: javax.xml.namespace

Version: 0.0.0.fragment_xml

Exported by: org.apache.felix.framework (0)

Maven dependency:

<dependency>

     <groupId>org.apache.sling</groupId>

     <artifactId>org.apache.sling.fragment.ws</artifactId>

     <version>1.0.2</version>

     <scope>provided</scope>

</dependency>

And in my bundle: it is showing me this - javax.xml.namespace,version=[1.0,2) -- Cannot be resolved

If this is an version issue, can you please tell me what I should I do to make this package resolved?

Many thanks,Jineet

jineetv21622325

05-06-2017

The bundle which resolves:
javax.xml.namespace,version=0.0.0.fragment_xml from org.apache.felix.framework (0)
The bundle which doesn't resolve:
javax.xml.namespace,version=[1.0,2) -- Cannot be resolved

jineetv21622325

05-06-2017

Error log:
5.06.2017 23:11:22.800 *ERROR* [qtp110252325-58675] org.apache.felix.http.jetty %bundles.pluginTitle: Cannot start (org.osgi.framework.BundleException: Unable to resolve com.xyz.cq.support.core [515](R 515.2): missing requirement [com.xyz.cq.support.core [515](R 515.2)] osgi.wiring.package; (&(osgi.wiring.package=javax.xml.namespace)(version>=1.0.0)(!(version>=2.0.0))) Unresolved requirements: [[com.xyz.cq.support.core [515](R 515.2)] osgi.wiring.package; (&(osgi.wiring.package=javax.xml.namespace)(version>=1.0.0)(!(version>=2.0.0)))])

org.osgi.framework.BundleException: Unable to resolve com.xyz.cq.support.core [515](R 515.2): missing requirement [com.xyz.cq.support.core [515](R 515.2)] osgi.wiring.package; (&(osgi.wiring.package=javax.xml.namespace)(version>=1.0.0)(!(version>=2.0.0))) Unresolved requirements: [[com.xyz.cq.support.core [515](R 515.2)] osgi.wiring.package; (&(osgi.wiring.package=javax.xml.namespace)(version>=1.0.0)(!(version>=2.0.0)))]

Jörg_Hoh

Employee

05-06-2017

Can you please post relevant import statements of the bundle, which does not resolve? Can you also check your error.log file if there is a statement about this sling fragment?

kind regards,
Jörg