> 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

Reply via email to