'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
Solved! Go to Solution.
Views
Replies
Total Likes
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:
Views
Replies
Total Likes
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
Views
Replies
Total Likes
In your bundle that does resolve - are you referencing same version. Looks like a version conflict.
Views
Replies
Total Likes
Also use the Dependency Finder in AEM to see what version AEM has installed. For information about the Dep Finder - see The Real CQ: CQ5/AEM How do I find out exactly which maven dependency I need?
Views
Replies
Total Likes
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)))]
Views
Replies
Total Likes
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
Views
Replies
Total Likes
What AEM version are you using?
If you are using AEM 6.2 - you should be using Maven Archetype 10 and AEM uber 6.2 JAR to resolve the dependencies. See this article --
Scott's Digital Community: Creating your first AEM 6.2 Project using Adobe Maven Archetype 10
Views
Replies
Total Likes
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
Views
Replies
Total Likes
Using AEM 6.2, archetype 10 and using Uber Jar as well.
Views
Replies
Total Likes
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
Views
Replies
Total Likes
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.
Views
Replies
Total Likes
Hi Scott,
this doesn't help if you need to do it again and again after every build :-)
Views
Replies
Total Likes
I have done this from time to time when i need to get it to work But correct - the ideal way is to get it correct in the POM file!
Views
Replies
Total Likes
smacdonald2008 What should be the dependency added in pom.xml to make it pick appropriate version?
Views
Replies
Total Likes
AEM v6.2, Uber Jar v6.2.0, archetype v10.
Views
Replies
Total Likes
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:
Views
Replies
Total Likes
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
Views
Replies
Total Likes
@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 -