> Can you verify the HttpService is available at all in the framework ? > (You might try to access the web console) The web console seems to be available. Requesting "http://localhost:8080/system/console/bundles" leads to: 'A username and password are being requested by http://localhost:8080. The site says: "OSGi Management Console"' So i assume the HttpService is available.
i rewrote the EmbeddedServletActivator to use a ServiceTracker >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @Override public void start(BundleContext context) throws Exception { httpServiceTracker = new ServiceTracker(context, HttpService.class.getName(), null); httpServiceTracker.open(); System.out.println("Looking for HttpService"); final HttpService httpService = (HttpService)httpServiceTracker.getService(); if(httpService!=null) { System.out.println("Found HttpSerice"); httpService.registerServlet(ALIAS, new HelloWorldServlet(), null, null); System.out.println("registered "+ALIAS+" with HttpService"); }else{ System.out.println("httpServiceTracker.getService() returned null"); } } <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< which lead to >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Starting bundle [com.mobenga.HelloWorldServletEmbedded] Looking for HttpService httpServiceTracker.getService() returned null <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< so no change there. /Stephan Gesendet: Donnerstag, 14. März 2013 um 13:46 Uhr Von: "Felix Meschberger" <fmesc...@adobe.com> An: "users@felix.apache.org" <users@felix.apache.org> Betreff: Re: No HttpService available Hi Can you verify the HttpService is available at all in the framework ? (You might try to access the web console) If not, you might have an issue to not properly setup the Http Service bridge: This requires wiring from the servlet which is actually deployed in the servlet container. See [1] and the linked examples for details. Regards Felix [1] http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html#using-the-servlet-bridge Am 14.03.2013 um 12:50 schrieb Stephan Schröder: > Hi, > > i want to write a HelloWorld-Servlet using Felixes HttpServie. > The setup is to embedd Felix and the HelloWorldServlet in a war-file and > deploy this on Tomcat6. > > The BundleActivator for the HelloWorldServletBundle checks whether a > HttpServie is available a prints out an error message if that's not the case: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > @Override > public void start(BundleContext context) throws Exception > { > ServiceReference sRef = > context.getServiceReference(HttpService.class.getName()); > if (sRef != null) > { > HttpService service = (HttpService) context.getService(sRef); > service.registerServlet(ALIAS, new HelloWorldServlet(), null, null); > }else{ > System.out.println("no HttpService found to register Servlet for "+ALIAS); > } > } > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > > and sadly this is exectly what happens when deploying the war-file on Tomcat6: > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > Connected to server > [2013-03-14 12:34:42,775] Artifact felix-bridge:war exploded: Artifact is > being deployed, please wait... > starting OSGi > Installing bundle > [jndi:/localhost/WEB-INF/systemBundles/org.apache.felix.http.bridge-2.2.0.jar] > Installing bundle > [jndi:/localhost/WEB-INF/systemBundles/org.apache.felix.gogo.runtime_0.10.0.jar] > Installing bundle > [jndi:/localhost/WEB-INF/systemBundles/org.apache.felix.webconsole-3.1.8.jar] > Installing bundle > [jndi:/localhost/WEB-INF/systemBundles/org.apache.felix.http.base-2.2.0.jar] > Installing bundle > [jndi:/localhost/WEB-INF/systemBundles/org.apache.felix.bundlerepository-1.6.6.jar] > Installing bundle > [jndi:/localhost/WEB-INF/systemBundles/org.apache.felix.gogo.shell_0.10.0.jar] > Installing bundle > [jndi:/localhost/WEB-INF/systemBundles/org.apache.felix.http.api-2.2.0.jar] > Installing bundle > [jndi:/localhost/WEB-INF/systemBundles/org.apache.felix.gogo.command_0.12.0.jar] > Installing bundle > [jndi:/localhost/WEB-INF/applicationBundles/HelloWorldServletEmbedded-1.0-SNAPSHOT.jar] > Starting bundle [org.apache.felix.http.bridge] > [INFO] Started bridged http service > Starting bundle [org.apache.felix.gogo.runtime] > Starting bundle [org.apache.felix.webconsole] > Starting bundle [org.apache.felix.http.base] > Starting bundle [org.apache.felix.bundlerepository] > Starting bundle [org.apache.felix.gogo.shell] > Starting bundle [org.apache.felix.http.api] > Starting bundle [org.apache.felix.gogo.command] > Starting bundle [com.mobenga.HelloWorldServletEmbedded] > no HttpService found to register Servlet for /hello <---no HttpService! > OSGi startet > [2013-03-14 12:34:43,176] Artifact felix-bridge:war exploded: Artifact is > deployed successfully > ____________________________ > Welcome to Apache Felix Gogo > > g! Mar 14, 2013 12:34:52 PM org.apache.catalina.startup.HostConfig > deployDirectory > INFO: Deploying web application directory manager > lb > START LEVEL 1 > ID|State |Level|Name > 0|Active | 0|System Bundle (4.0.2) > 1|Active | 1|Apache Felix Http Bridge (2.2.0) > 2|Active | 1|Apache Felix Gogo Runtime (0.10.0) > 3|Active | 1|Apache Felix Web Management Console (3.1.8) > 4|Active | 1|Apache Felix Http Base (2.2.0) > 5|Active | 1|Apache Felix Bundle Repository (1.6.6) > 6|Active | 1|Apache Felix Gogo Shell (0.10.0) > 7|Active | 1|Apache Felix Http Api (2.2.0) > 8|Active | 1|Apache Felix Gogo Command (0.12.0) > 9|Active | 1|HelloWorldServletEmbedded (1.0.0.SNAPSHOT) > g! > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > > Because all bundles are active i assume i forgot some needed bundle or > configuration? > (I assume i don't need an embedded Jetty because this runs on top of Tomcat!?) > > If you need more information here is the whole maven project as a zip: > https://docs.google.com/file/d/0BwYlZDH_xJugamxJQ2QzaWJULVU/edit?usp=sharing[https://docs.google.com/file/d/0BwYlZDH_xJugamxJQ2QzaWJULVU/edit?usp=sharing] > > Regards, > Stephan > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@felix.apache.org > For additional commands, e-mail: users-h...@felix.apache.org > -- Felix Meschberger | Principal Scientist | Adobe --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org