[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.rt.riena] Re: missing SessionStore

Rüdiger Rensinghoff-Kranen schrieb:
Carsten Spieker schrieb:
Hello Rüdiger,

I hope I understood your problem correctly.

AFAIK the ISessionService implementation in org.eclipse.riena.security.services is bind to an implementation of ISessionStore (to store the former created session). This means any implementation of ISessionStore must be registered in your OSGi framework on server side. You could for example install bundle org.eclipse.riena.security.simpleservices in your server-side OSGi framework This bundle provides such a service implementation. The NullPointerException then should be solved.

Hope this hint helps you.

Greetz,
Carsten


"Rüdiger Rensinghoff-Kranen" <info@xxxxxxxxxxxxxxxxxxxxx> schrieb im Newsbeitrag news:gtv6eb$ri1$1@xxxxxxxxxxxxxxxxxxxx
Hello,

with somewhat modified copy off sample.app.server and security.simpleservices I try to login from a client application.
I'm not experienced in dealing with OSGi and Riena. All I found was that in AuthenticationService a Session should be created from SessionService.generateSession but store is null. I don't know what's wrong. Below status off the server and error log.


Rüdiger




07.05.2009 18:01:06 org.mortbay.http.HttpServer doStart
INFO: Version Jetty/5.1.x
07.05.2009 18:01:07 org.mortbay.util.Container start
INFO: Started org.eclipse.equinox.http.jetty.internal.Servlet25Handler@16fdcc1
07.05.2009 18:01:07 org.mortbay.util.Container start
INFO: Started HttpContext[/,/]
07.05.2009 18:01:07 org.mortbay.http.SocketListener start
INFO: Started SocketListener on 0.0.0.0:8080
07.05.2009 18:01:07 org.mortbay.util.Container start
INFO: Started org.mortbay.http.HttpServer@704cf5
07.05.2009 18:01:11 org.mortbay.jetty.servlet.ServletHandler$Context log
INFO: org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper: call protocol=hessian, url=http://192.168.178.20:8080/hessian/AuthenticationService, interface=org.eclipse.riena.security.common.authentication.IAuthenticationService


2009.05.07 18:02:05 CEST rrk@rrk-211305ebe29 DEBUG [SocketListener0-1] de.psgl400.server.security.authentication.loginmodule.ServerLoginModule remote login() : testuser
2009.05.07 18:02:05 CEST rrk@rrk-211305ebe29 DEBUG [SocketListener0-1] de.psgl400.server.security.authentication.loginmodule.ServerLoginModule remote login password ok = true
2009.05.07 18:02:52 CEST rrk@rrk-211305ebe29 DEBUG [SocketListener0-1] de.psgl400.server.security.authentication.loginmodule.ServerLoginModule after commit subject.getPrincipals().add(new SimplePrincipal(username)) : testuser
ss


Framework is launched.

id State Bundle
0 ACTIVE org.eclipse.osgi_3.5.0.v20090311-1300
Fragments=4
1 ACTIVE org.eclipse.riena.security.services_1.1.0.M6
2 ACTIVE org.eclipse.riena.communication.core_1.1.0.M6
3 ACTIVE org.eclipse.riena.core_1.1.0.M6
4 RESOLVED org.eclipse.equinox.transforms.hook_1.0.100.v20090306-1900
Master=0
5 ACTIVE org.eclipse.riena.communication.publisher.hessian_1.1.0.M6
6 ACTIVE org.mortbay.jetty_5.1.14.v200806031611
7 ACTIVE org.apache.commons.logging_1.0.4.v20080605-1930
8 ACTIVE org.eclipse.equinox.app_1.2.0.v20090306-1900
9 ACTIVE org.eclipse.core.runtime.compatibility.auth_3.2.100.v20070502
10 ACTIVE org.eclipse.riena.server_1.1.0.M6
11 ACTIVE de.psgl400.server_1.0.0
12 ACTIVE org.eclipse.equinox.common_3.5.0.v20090310-1800
13 ACTIVE de.psgl400.server.security_1.0.0
14 ACTIVE org.eclipse.riena.security.common_1.1.0.M6
15 ACTIVE org.eclipse.core.contenttype_3.4.0.v20090302
16 ACTIVE org.eclipse.core.variables_3.2.200.v20090302-1500
17 ACTIVE org.eclipse.equinox.http.registry_1.0.200.v20090306-1900
18 ACTIVE org.eclipse.core.jobs_3.4.100.v20090213
19 ACTIVE org.eclipse.equinox.http.servlet_1.0.200.v20090306-1900
20 ACTIVE org.eclipse.riena.communication.factory.hessian_1.1.0.M6
21 ACTIVE de.psgl400.core_1.0.0
22 ACTIVE org.eclipse.equinox.security_1.0.100.v20090306-1900
Fragments=27
23 ACTIVE com.caucho.hessian_3.1.3
24 ACTIVE javax.servlet_2.4.0.v200806031604
25 ACTIVE org.eclipse.core.runtime_3.5.0.v20090306
26 ACTIVE org.eclipse.riena.communication.publisher_1.1.0.M6
27 RESOLVED org.eclipse.equinox.security.win32.x86_1.0.100.v20090306-1900
Master=22
28 ACTIVE org.eclipse.osgi.services_3.2.0.v20090306-1900
29 ACTIVE org.eclipse.riena.communication.console_1.1.0.M6
30 ACTIVE org.eclipse.equinox.log_1.1.0.v20090223-1400
31 ACTIVE org.eclipse.riena.security.server_1.1.0.M6
32 ACTIVE org.eclipse.equinox.registry_3.4.100.v20090306-1900
33 ACTIVE org.eclipse.equinox.preferences_3.2.300.v20090306-1900
34 ACTIVE org.apache.log4j_1.2.8.v200706111329
35 ACTIVE org.eclipse.equinox.http.jetty_1.1.100.v20090306-1900


osgi> s
Framework is launched.

id Bundle Location
State Bundle File Name
0 System Bundle
ACTIVE org.eclipse.osgi_3.5.0.v20090311-1300
1 initial@reference:file:org.eclipse.riena.security.services_1.1.0.M6.jar/
ACTIVE org.eclipse.riena.security.services_1.1.0.M6
2 initial@reference:file:org.eclipse.riena.communication.core_1.1.0.M6.jar/


ACTIVE org.eclipse.riena.communication.core_1.1.0.M6
3 initial@reference:file:org.eclipse.riena.core_1.1.0.M6.jar/
ACTIVE org.eclipse.riena.core_1.1.0.M6
4 initial@reference:file:org.eclipse.equinox.transforms.hook_1.0.100.v20090306-1900.jar/


RESOLVED org.eclipse.equinox.transforms.hook_1.0.100.v20090306-1900
5 initial@reference:file:org.eclipse.riena.communication.publisher.hessian_1.1.0.M6.jar/


ACTIVE org.eclipse.riena.communication.publisher.hessian_1.1.0.M6
6 initial@reference:file:org.mortbay.jetty_5.1.14.v200806031611.jar/
ACTIVE org.mortbay.jetty_5.1.14.v200806031611
7 initial@reference:file:org.apache.commons.logging_1.0.4.v20080605-1930.jar/


ACTIVE org.apache.commons.logging_1.0.4.v20080605-1930
8 initial@reference:file:org.eclipse.equinox.app_1.2.0.v20090306-1900.jar/
ACTIVE org.eclipse.equinox.app_1.2.0.v20090306-1900
9 initial@reference:file:org.eclipse.core.runtime.compatibility.auth_3.2.100.v20070502.jar/


ACTIVE org.eclipse.core.runtime.compatibility.auth_3.2.100.v20070502
10 initial@reference:file:org.eclipse.riena.server_1.1.0.M6.jar/
ACTIVE org.eclipse.riena.server_1.1.0.M6
11 initial@reference:file:../../../projekte/work/psgl/de.psgl400.server/
ACTIVE de.psgl400.server_1.0.0
12 initial@reference:file:org.eclipse.equinox.common_3.5.0.v20090310-1800.jar/


ACTIVE org.eclipse.equinox.common_3.5.0.v20090310-1800
13 initial@reference:file:../../../projekte/work/psgl/de.psgl400.server.security/


ACTIVE de.psgl400.server.security_1.0.0
14 initial@reference:file:org.eclipse.riena.security.common_1.1.0.M6.jar/
ACTIVE org.eclipse.riena.security.common_1.1.0.M6
15 initial@reference:file:org.eclipse.core.contenttype_3.4.0.v20090302.jar/
ACTIVE org.eclipse.core.contenttype_3.4.0.v20090302
16 initial@reference:file:org.eclipse.core.variables_3.2.200.v20090302-1500.jar/


ACTIVE org.eclipse.core.variables_3.2.200.v20090302-1500
17 initial@reference:file:org.eclipse.equinox.http.registry_1.0.200.v20090306-1900.jar/


ACTIVE org.eclipse.equinox.http.registry_1.0.200.v20090306-1900
18 initial@reference:file:org.eclipse.core.jobs_3.4.100.v20090213.jar/
ACTIVE org.eclipse.core.jobs_3.4.100.v20090213
19 initial@reference:file:org.eclipse.equinox.http.servlet_1.0.200.v20090306-1900.jar/


ACTIVE org.eclipse.equinox.http.servlet_1.0.200.v20090306-1900
20 initial@reference:file:org.eclipse.riena.communication.factory.hessian_1.1.0.M6.jar/


ACTIVE org.eclipse.riena.communication.factory.hessian_1.1.0.M6
21 initial@reference:file:../../../projekte/work/psgl/de.psgl400.core/
ACTIVE de.psgl400.core_1.0.0
22 initial@reference:file:org.eclipse.equinox.security_1.0.100.v20090306-1900.jar/


ACTIVE org.eclipse.equinox.security_1.0.100.v20090306-1900
23 initial@reference:file:com.caucho.hessian_3.1.3.jar/
ACTIVE com.caucho.hessian_3.1.3
24 initial@reference:file:javax.servlet_2.4.0.v200806031604.jar/
ACTIVE javax.servlet_2.4.0.v200806031604
25 initial@reference:file:org.eclipse.core.runtime_3.5.0.v20090306.jar/
ACTIVE org.eclipse.core.runtime_3.5.0.v20090306
26 initial@reference:file:org.eclipse.riena.communication.publisher_1.1.0.M6.jar/


ACTIVE org.eclipse.riena.communication.publisher_1.1.0.M6
27 initial@reference:file:org.eclipse.equinox.security.win32.x86_1.0.100.v20090306-1900.jar/


RESOLVED org.eclipse.equinox.security.win32.x86_1.0.100.v20090306-1900
28 initial@reference:file:org.eclipse.osgi.services_3.2.0.v20090306-1900.jar/


ACTIVE org.eclipse.osgi.services_3.2.0.v20090306-1900
29 initial@reference:file:org.eclipse.riena.communication.console_1.1.0.M6.jar/


ACTIVE org.eclipse.riena.communication.console_1.1.0.M6
30 initial@reference:file:org.eclipse.equinox.log_1.1.0.v20090223-1400.jar/
ACTIVE org.eclipse.equinox.log_1.1.0.v20090223-1400
31 initial@reference:file:org.eclipse.riena.security.server_1.1.0.M6.jar/
ACTIVE org.eclipse.riena.security.server_1.1.0.M6
32 initial@reference:file:org.eclipse.equinox.registry_3.4.100.v20090306-1900.jar/


ACTIVE org.eclipse.equinox.registry_3.4.100.v20090306-1900
33 initial@reference:file:org.eclipse.equinox.preferences_3.2.300.v20090306-1900.jar/


ACTIVE org.eclipse.equinox.preferences_3.2.300.v20090306-1900
34 initial@reference:file:org.apache.log4j_1.2.8.v200706111329.jar/
ACTIVE org.apache.log4j_1.2.8.v200706111329
35 initial@reference:file:org.eclipse.equinox.http.jetty_1.1.100.v20090306-1900.jar/


ACTIVE org.eclipse.equinox.http.jetty_1.1.100.v20090306-1900
Registered Services
{org.eclipse.osgi.framework.console.CommandProvider}={service.ranking=2147483647, service.id=2}
{org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org - Equinox, service.id=3}
{org.osgi.service.permissionadmin.PermissionAdmin, org.osgi.service.condpermadmin.ConditionalPermissionAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.internal.permadmin.SecurityAdmin, service.vendor=Eclipse.org - Equinox, service.id=4}
{org.osgi.service.startlevel.StartLevel}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.StartLevelManager, service.vendor=Eclipse.org - Equinox, service.id=5}
{org.eclipse.osgi.service.debug.DebugOptions}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.debug.FrameworkDebugOptions, service.vendor=Eclipse.org - Equinox, service.id=6}
{java.lang.ClassLoader}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.ContextFinder, service.vendor=Eclipse.org - Equinox, equinox.classloader.type=contextClassLoader, service.id=7}
{org.eclipse.osgi.framework.log.FrameworkLog}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.adaptor.EclipseLog, service.vendor=Eclipse.org - Equinox, service.id=8}
{org.eclipse.osgi.service.environment.EnvironmentInfo}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo, service.vendor=Eclipse.org - Equinox, service.id=18}
{org.eclipse.osgi.service.resolver.PlatformAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.internal.baseadaptor.StateManager, service.vendor=Eclipse.org - Equinox, service.id=19}
{org.eclipse.osgi.service.pluginconversion.PluginConverter}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.PluginConverterImpl, service.vendor=Eclipse.org - Equinox, service.id=20}
{org.eclipse.osgi.framework.console.CommandProvider}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.EclipseCommandProvider, service.vendor=Eclipse.org - Equinox, service.id=21}
{org.eclipse.osgi.service.localization.BundleLocalization}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.BundleLocalizationImpl, service.vendor=Eclipse.org - Equinox, service.id=22}
{javax.xml.parsers.SAXParserFactory}={service.id=10}
{javax.xml.parsers.DocumentBuilderFactory}={service.id=11}
{org.eclipse.osgi.service.datalocation.Location}={type=osgi.user.area, service.id=12}
{org.eclipse.osgi.service.datalocation.Location}={type=osgi.instance.area, service.id=13}
{org.eclipse.osgi.service.datalocation.Location}={type=osgi.configuration.area, service.id=14}
{org.eclipse.osgi.service.datalocation.Location}={type=osgi.install.area, service.id=15}
{org.eclipse.osgi.service.datalocation.Location}={type=eclipse.home.location, service.id=16}
{org.eclipse.osgi.service.urlconversion.URLConverter}={protocol=[bundleentry,bundleresource], service.id=17}
{org.eclipse.osgi.signedcontent.SignedContentFactory}={service.id=24}
{org.eclipse.osgi.internal.provisional.verifier.CertificateVerifierFactory}={service.id=25}


{org.osgi.service.framework.CompositeBundleFactory}={service.id=26}
{org.eclipse.osgi.service.urlconversion.URLConverter}={protocol=platform, service.id=27}
{org.eclipse.core.runtime.IAdapterManager}={service.id=28}
{org.osgi.service.url.URLStreamHandlerService}={url.handler.protocol=[platform], service.id=29}
{org.eclipse.core.internal.preferences.exchange.IProductPreferencesService}={service.id=30}


{org.eclipse.core.runtime.preferences.IPreferencesService}={service.id=31}

{org.osgi.service.prefs.PreferencesService}={service.id=32}
{org.eclipse.core.runtime.jobs.IJobManager}={service.id=33}
{org.eclipse.core.runtime.IExtensionRegistry}={service.id=34}
{org.eclipse.osgi.framework.console.CommandProvider}={service.id=35}
{org.osgi.service.application.ApplicationDescriptor}={eclipse.application.type=main.thread, application.name=, application.visible=false, application.container=org.eclipse.equinox.app, service.pid=org.eclipse.equinox.app.error, application.launchable=true, application.locked=false, application.location=initial@reference:file:org.eclipse.equinox.app_1.2.0.v20090306-1900.jar/, service.id=36}
{org.eclipse.osgi.framework.console.CommandProvider}={service.id=37}
{org.eclipse.riena.security.common.session.ISessionHolderService}={service.id=40}


{org.osgi.service.log.LogReaderService, org.eclipse.equinox.log.ExtendedLogReaderService}={service.id=42}
{org.osgi.service.log.LogService, org.eclipse.equinox.log.ExtendedLogService}={service.id=43}
{org.eclipse.riena.communication.core.progressmonitor.IRemoteProgressMonitorRegistry}={service.id=44}


{org.eclipse.riena.communication.core.hooks.ICallHook}={service.id=45}
{org.eclipse.riena.security.common.ISubjectHolderService}={service.id=46}


{org.eclipse.riena.security.common.authorization.IPermissionCache}={service.id=47}

{org.eclipse.riena.core.cache.IGenericObjectCache}={cache.type=PrincipalCache, service.id=50}
{org.eclipse.riena.communication.core.hooks.IServiceHook}={service.id=51}


{de.psgl400.core.service.IHelloWorldService}={riena.remote.protocol=hessian, riena.remote.path=/HelloWorldServiceWS, riena.remote=true, service.id=56}
{org.eclipse.core.runtime.content.IContentTypeManager}={service.id=57}
{org.eclipse.equinox.http.registry.HttpContextExtensionService}={service.id=58}


{org.eclipse.riena.communication.core.publisher.IServicePublishBinder}={service.id=59}

{org.eclipse.osgi.framework.console.CommandProvider}={service.id=60}
{org.osgi.service.http.HttpService}={service.description=Equinox Jetty-based Http Service, http.port=8080, service.vendor=Eclipse.org, service.id=61}
{org.osgi.service.cm.ManagedServiceFactory}={service.pid=org.eclipse.equinox.http.jetty.config, service.id=62}
{org.eclipse.riena.internal.core.logging.LoggerMill}={service.ranking=-100, service.id=38}
{org.eclipse.riena.core.exception.IExceptionHandlerManager}={service.ranking=-100, service.id=39}
{org.eclipse.riena.communication.core.IRemoteServiceRegistry}={service.ranking=-100, service.id=41}
{org.eclipse.riena.security.common.authorization.ISentinelService}={service.ranking=-100, service.id=48}
{org.eclipse.riena.security.common.authentication.IAuthenticationService}={service.ranking=-100, riena.remote.protocol=hessian, riena.remote=true, riena.remote.path=/AuthenticationService, service.id=49}
{org.eclipse.riena.security.common.authorization.IAuthorizationService}={service.ranking=-100, riena.remote.protocol=hessian, riena.remote=true, riena.remote.path=/AuthorizationService, service.id=52}
{org.eclipse.riena.security.server.session.ISessionService}={service.ranking=-100, riena.remote.protocol=hessian, riena.remote=true, riena.remote.path=/SessionService, service.id=53}
{org.eclipse.riena.security.sessionservice.ISessionProvider}={service.ranking=-100, service.id=54}
{org.eclipse.riena.communication.core.publisher.IServicePublisher}={service.ranking=-100, riena.protocol=hessian, service.id=55}
{org.eclipse.osgi.service.runnable.StartupMonitor}={service.ranking=-2147483648, service.id=1}
{org.eclipse.osgi.framework.log.FrameworkLog}={service.ranking=-2147483648, performance=true, service.pid=46org.eclipse.core.runtime.adaptor.EclipseLog, service.vendor=Eclipse.org - Equinox, service.id=9}
{org.eclipse.osgi.service.security.TrustEngine}={service.ranking=-2147483648, osgi.signedcontent.trust.engine=org.eclipse.osgi, service.id=23}


osgi> 07.05.2009 18:14:18 com.caucho.hessian.server.HessianSkeleton invoke
WARNUNG: java.lang.NullPointerException
java.lang.NullPointerException
at org.eclipse.riena.internal.security.sessionservice.SessionService.generateSession(SessionService.java:87)


at org.eclipse.riena.internal.security.authenticationservice.AuthenticationService.login(AuthenticationService.java:137)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)


at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.riena.communication.core.hooks.AbstractHooksProxy.invoke(AbstractHooksProxy.java:69)


at org.eclipse.riena.communication.core.hooks.AbstractHooksProxy.invoke(AbstractHooksProxy.java:38)

at org.eclipse.riena.internal.communication.publisher.ServiceHooksProxy.invoke(ServiceHooksProxy.java:70)

at $Proxy10.login(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)


at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)
at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:155)


at org.eclipse.riena.communication.publisher.hessian.RienaHessianDispatcherServlet.service(RienaHessianDispatcherServlet.java:148)

at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)

at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)

at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)

at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:269)


at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
at org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677)


at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)


at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)



Hi Carsten,

I found my fault. There was no implementation of ISessionStore running.

thanks

Rüdiger
I was just about to propose that you check for services

OSGI commands that are help

ss: status of bundles
status: status of services
remotestatus: this command is implemented in riena.communication.console and list on the server the visibile remoteservices and on the client the list of local OSGi services that are actual proxies to remote services


christian