Think that you are using WAB ? If does, it is required to add all the required import-packages, including the one used in web.xml org.apache.** wink.server.internal.servlet. Geronimo will only generate import-packages for WAR, not for WAB, as WAB has already been a bundle.
2012/11/4 Michael Baylis <maill...@baylishome.me.uk> > Hi, > I'm getting the following error when trying to use REST (WINK) within > a OSGi bundle:- > > org.apache.geronimo.common.**DeploymentException: Fail to load servlet > class > at org.apache.geronimo.web25.**deployment.merge.annotation.** > ServletSecurityAnnotationMerge**Handler.**postProcessWebXmlElement(** > ServletSecurityAnnotationMerge**Handler.java:79) > at org.apache.geronimo.web25.**deployment.merge.MergeHelper.** > processWebFragmentsAndAnnotati**ons(MergeHelper.java:418) > at org.apache.geronimo.web25.**deployment.**AbstractWebModuleBuilder.* > *basicInitContext(**AbstractWebModuleBuilder.java:**493) > at org.apache.geronimo.web25.**deployment.**AbstractWebModuleBuilder.* > *initContext(**AbstractWebModuleBuilder.java:**436) > at org.apache.geronimo.osgi.web.**extender.WebApplication.doRun(** > WebApplication.java:213) > at org.apache.geronimo.osgi.web.**extender.WebApplication.run(** > WebApplication.java:125) > at java.util.concurrent.**Executors$RunnableAdapter.**call(Unknown > Source) > at java.util.concurrent.**FutureTask$Sync.innerRun(**Unknown Source) > at java.util.concurrent.**FutureTask.run(Unknown Source) > at java.util.concurrent.**ThreadPoolExecutor.runWorker(**Unknown > Source) > at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**Unknown > Source) > at java.lang.Thread.run(Unknown Source) > Caused by: java.lang.**ClassNotFoundException: org.apache.wink.server.** > internal.servlet.RestServlet > at org.eclipse.osgi.internal.**loader.BundleLoader.** > findClassInternal(**BundleLoader.java:513) > at org.eclipse.osgi.internal.**loader.BundleLoader.findClass(** > BundleLoader.java:429) > at org.eclipse.osgi.internal.**loader.BundleLoader.findClass(** > BundleLoader.java:417) > at org.apache.geronimo.hook.**equinox.GeronimoClassLoader.** > loadClass(GeronimoClassLoader.**java:85) > at java.lang.ClassLoader.**loadClass(Unknown Source) > at org.eclipse.osgi.internal.**loader.BundleLoader.loadClass(** > BundleLoader.java:345) > at org.eclipse.osgi.framework.**internal.core.BundleHost.** > loadClass(BundleHost.java:229) > at org.eclipse.osgi.framework.**internal.core.AbstractBundle.** > loadClass(AbstractBundle.java:**1207) > at org.apache.geronimo.web25.**deployment.merge.annotation.** > ServletSecurityAnnotationMerge**Handler.**postProcessWebXmlElement(** > ServletSecurityAnnotationMerge**Handler.java:52) > ... 11 more > > This is my MANIFEST.MF:- > Manifest-Version: 1.0 > Bundle-ManifestVersion: 2 > Bundle-Name: xxx.web > Bundle-SymbolicName: xxx.web > Bundle-Version: 0.1.0.qualifier > Bundle-ClassPath: WEB-INF/classes > Bundle-**RequiredExecutionEnvironment: JavaSE-1.7 > Web-ContextPath: /ha > Import-Package: javax.el;version="2.0";**resolution:=optional, > javax.servlet;version="2.5", > javax.servlet.annotation;**resolution:=optional, > javax.servlet.http;version="2.**5", > javax.servlet.jsp;version="2.**0", > javax.servlet.jsp.el;version="**2.0", > javax.servlet.jsp.tagext;**version="2.0", > javax.ws.rs;version="1.1.0" > > My web.xml:- > > <?xml version="1.0" encoding="UTF-8"?> > <web-app > xmlns:xsi="http://www.w3.org/**2001/XMLSchema-instance<http://www.w3.org/2001/XMLSchema-instance>" > xmlns="http://java.sun.com/**xml/ns/javaee<http://java.sun.com/xml/ns/javaee>" > xmlns:web="http://java.sun.**com/xml/ns/javaee/web-app_2_5.**xsd<http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd>" > xsi:schemaLocation="http://**java.sun.com/xml/ns/javaee<http://java.sun.com/xml/ns/javaee> > http://java.sun.com/xml/ns/**javaee/web-app_3_0.xsd<http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd>" > version="3.0"> > <display-name>xxx.web</**display-name> > <servlet> > <description>JAX-RS Tools Generated - Do not modify</description> > <servlet-name>JAX-RS Servlet</servlet-name> > <servlet-class>org.apache.**wink.server.internal.servlet.** > RestServlet</servlet-class> > <init-param> > <param-name>javax.ws.rs.**Application</param-name> > <param-value>xxx.**RestApplication</param-value> > </init-param> > <load-on-startup>1</load-on-**startup> > </servlet> > <servlet-mapping> > <servlet-name>JAX-RS Servlet</servlet-name> > <url-pattern>/rest/*</url-**pattern> > </servlet-mapping> > </web-app> > > I have no other setup files. I am using the full profile Geronimo 3.0.0 > release. > > Does anyone know what I have missed? I have not included the wink jars > in the project lib, as I want to use the one installed in the server and I > want the benefit on injection. > > Google and forum searches have drawn a blank :-( > > Thank you, > > Michael > -- Ivan