[prev in list] [next in list] [prev in thread] [next in thread] 

List:       forgerock-openig
Subject:    [Openig] Create a User Defined Coded Filter/Handler
From:       mark.dereeper () forgerock ! com (Mark de Reeper)
Date:       2012-11-15 22:00:40
Message-ID: 80EBD2F2-5D64-4AA8-9B12-FD8BBC2D8E29 () forgerock ! com
[Download RAW message or body]


I think this is down to how different web app containers handle class loading and the \
best approach is probably going to be to add your custom classes to either the \
WEB-INF/classes directory or drop your custom JAR into the WEB-INF/lib directory of \
the OpenIG web application.


Thanks

Mark

On 13/11/2012, at 5:38 AM, Chen Fliesher <chenfli at gmail.com> wrote:

> Hi,
> I am trying to do something very basic, create the Sample Hello World Filter for \
> OpenIG 2.1.0 I am running it on Jetty 8.
> 
> http://openig.forgerock.org/doc/gateway-guide/index/chap-customizing.html
> 
> It's more of wrapping issue I have.
> I took the HelloWorldFilter and created a jar. Add it to the $JETTY_HOME/lib/ext
> 
> The problem I get is the class not found for GenericFilter class, 
> My guess is because the gateway-fed-2.1.0.war class loader and my \
> HelloWorldFilter.jar doesn't share the same class path.  
> What is the way to wrap external Filters/Handler without changing the OpenIG war ?
> 
> Any help is welocmed.
> 
> Following is the Exception I got when the first request is handled:
> 
> 
> 
> java.lang.NoClassDefFoundError: org/forgerock/openig/filter/GenericFilter
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:424)
> at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:377)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at org.forgerock.openig.util.JsonValueUtil.classForName(JsonValueUtil.java:80)
> at org.forgerock.openig.util.JsonValueUtil.asClass(JsonValueUtil.java:94)
> at org.forgerock.openig.heap.HeapImpl.init(HeapImpl.java:64)
> at org.forgerock.openig.federation.FederationGatewayServlet.init(FederationGatewayServlet.java:67)
>  at javax.servlet.GenericServlet.init(GenericServlet.java:244)
> at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:456)
> at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:347)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:535)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:489)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:483)
> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
>  at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:972)
>  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:417)
> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:906)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
>  at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
>  at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
> at org.eclipse.jetty.server.Server.handle(Server.java:350)
> at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:442)
> at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:910)
>  at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:565)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
> at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:46)
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
>  at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
>  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
>  at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
> at java.lang.Thread.run(Thread.java:722)
> Caused by:
> java.lang.ClassNotFoundException: org.forgerock.openig.filter.GenericFilter
> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:424)
> at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:377)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at org.forgerock.openig.util.JsonValueUtil.classForName(JsonValueUtil.java:80)
> at org.forgerock.openig.util.JsonValueUtil.asClass(JsonValueUtil.java:94)
> at org.forgerock.openig.heap.HeapImpl.init(HeapImpl.java:64)
> at org.forgerock.openig.federation.FederationGatewayServlet.init(FederationGatewayServlet.java:67)
>  at javax.servlet.GenericServlet.init(GenericServlet.java:244)
> at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:456)
> at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:347)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:535)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:489)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:483)
> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
>  at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:972)
>  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:417)
> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:906)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
>  at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
>  at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
> at org.eclipse.jetty.server.Server.handle(Server.java:350)
> at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:442)
> at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:910)
>  at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:565)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
> at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:46)
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
>  at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
>  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
>  at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
> at java.lang.Thread.run(Thread.java:722)
> 
> 
> -- 
> Chen Fleisher
> _______________________________________________
> Openig mailing list
> Openig at forgerock.org
> https://lists.forgerock.org/mailman/listinfo/openig

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.forgerock.org/pipermail/openig/attachments/20121116/fadc149a/attachment.html \



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic