and OSGi has no official support for filters, only servlets right now the servlet delegates to the filter anyways
-igor On Sun, Jun 15, 2008 at 3:36 AM, Martijn Dashorst <[EMAIL PROTECTED]> wrote: > Several commercial application servers have broken filter support. The > servlet is the only way to make Wicket work on those servers (IBM and > Oracle iirc). > > Martijn > > On Sun, Jun 15, 2008 at 10:12 AM, Jonathan Locke > <[EMAIL PROTECTED]> wrote: >> >> >> i wonder if we should deprecate wicketservlet at this point or just have it >> throw an exception saying "use WicketFilter"... i can't think of anything it >> would be useful for that the filter doesn't do... >> >> >> Ate Douma wrote: >>> >>> Hi Sunil, >>> >>> First of all, I don't think your implementation of the >>> PortletResourceURLFactoryImpl is going to work. >>> Right now, you simply (and only) return a Portlet RenderURL. >>> The purpose of the PortletResourceURLFactory though is to (somehow) return >>> a *specific* type of RenderURL which allows >>> direct access to the (Wicket) portlet *and* allow full control over the >>> response when invoked. >>> For each portal container this will be somewhat different (if properly >>> supported) and proprietary until they support >>> JSR_286/Portlet 2.0 which will provide this functionality out-of-the-box. >>> Anyway, to get this working on Websphere 6.1, you'll need to dive into the >>> Websphere specific api's and see how to do >>> this (and/or ask help on Websphere specific forums for instance). I can't >>> help you out with that as I'm not using >>> Websphere Portal myself. >>> >>> Concerning the error message your encounter: I notice you're using >>> WicketServlet, not WicketFilter in web.xml. >>> I didn't realize people still use/depend on WicketServlet (for 1.3.x and >>> higher) and I didn't really test against that >>> for the Portlet support! >>> Not sure if that's part of this particular problem here, but (right now) >>> you do need to use the WicketFilter. Using the >>> WicketServlet to invoke the WicketFilter bypasses the >>> WicketFilter.doFilter method and that one *is* required to be >>> called for the Wicket Portlet support to be able to work. >>> >>> Finally, it looks like you are encountering a *bug* in Websphere Portal >>> indeed. >>> Portlet API 1.0, section PLT.16.3.3 explicitly says that for included >>> Servlets/JSP's the >>> HttpServletRequest.setCharacterEncoding() method call "must do no >>> operation". Throwing an exception is definitely not a >>> "no operation". >>> >>> Note: the stack trace shows the exception is thrown from within Websphere >>> PortletRequestImpl, not a HttpServletRequest >>> object, but the call made from within WicketFilter *is* against the >>> provided (wrapped HttpServletRequest which seems to >>> be delegating directly to PortletRequestImpl.setCharacterEncoding(). >>> >>> Regards, >>> >>> Ate >>> >>> suneeelu wrote: >>>> Hi all, >>>> Iam devleoping a Spring wicket portlet application on Websphere 6.1 >>>> server. >>>> >>>> I have followed the steps you mentioned in the wiki as given in the below >>>> url. >>>> http://cwiki.apache.org/WICKET/portal-howto.html portla how to >>>> >>>> I have created a simple ServletContextProviderImpl and >>>> PortletResourceURLFactoryImpl classes which Iam attaching here. not sure >>>> whether the implementation classes work fine. >>>> >>>> Iam attaching the web.xml and portlet.xml, applicationContext.xml files >>>> and >>>> also the implementation classes of my application. >>>> >>>> when I start the server all the spring beans are getting created and also >>>> the wicket listeners are started. >>>> >>>> but when I try to access the portlet Iam getting the below error message. >>>> Iam not sure whether this is wicket portlet issue or IBM websphere >>>> related >>>> issue. >>>> >>>> [12-6-08 10:24:01:210 CEST] 0000002a ServletWrappe E SRVE0068E: >>>> Uncaught >>>> exception thrown in one of the service methods of the servlet: >>>> SpringExample. Exception thrown : java.lang.IllegalStateException: This >>>> method must not be called after the HTTP-Body was accessed ! >>>> at >>>> com.ibm.ws.portletcontainer.core.impl.PortletRequestImpl.setCharacterEncoding(PortletRequestImpl.java:914) >>>> at >>>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:294) >>>> at >>>> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) >>>> at >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989) >>>> at >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:766) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:674) >>>> at >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498) >>>> at >>>> com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464) >>>> at >>>> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:639) >>>> at >>>> com.ibm.ws.portletcontainer.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:79) >>>> at >>>> org.apache.wicket.protocol.http.portlet.WicketPortlet.processRequest(WicketPortlet.java:519) >>>> at >>>> org.apache.wicket.protocol.http.portlet.WicketPortlet.doView(WicketPortlet.java:416) >>>> at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:235) >>>> at javax.portlet.GenericPortlet.render(GenericPortlet.java:163) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServlet.doDispatch(PortletServlet.java:344) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:114) >>>> at >>>> com.ibm.isclite.container.collaborator.PortletServletCollaborator.doRender(PortletServletCollaborator.java:68) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:105) >>>> at >>>> com.ibm.ws.portletcontainer.rrd.RRDServerPortletServletCollaborator.doRender(RRDServerPortletServletCollaborator.java:123) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:105) >>>> at >>>> com.ibm.ws.portletcontainer.cache.CacheCollaborator.doRender(CacheCollaborator.java:84) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:105) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServlet.doDispatch(PortletServlet.java:240) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:82) >>>> at >>>> com.ibm.isclite.container.collaborator.PortletServletCollaborator.doDispatch(PortletServletCollaborator.java:122) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:74) >>>> at >>>> com.ibm.ws.portletcontainer.rrd.RRDServerPortletServletCollaborator.doDispatch(RRDServerPortletServletCollaborator.java:60) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:74) >>>> at >>>> com.ibm.ws.portletcontainer.cache.CacheCollaborator.doDispatch(CacheCollaborator.java:66) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:74) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServlet.dispatch(PortletServlet.java:183) >>>> at >>>> com.ibm.ws.portletcontainer.core.PortletServlet.doGet(PortletServlet.java:118) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) >>>> at >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989) >>>> at >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:766) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:674) >>>> at >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498) >>>> at >>>> com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464) >>>> at >>>> com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122) >>>> at >>>> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:639) >>>> at >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:146) >>>> at >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerCollaboratorChainImpl.doCollaborator(PortletInvokerCollaboratorChainImpl.java:70) >>>> at >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceCollaborator.invoke(PortletInvokerPerformanceCollaborator.java:247) >>>> at >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceCollaborator.doInvoke(PortletInvokerPerformanceCollaborator.java:93) >>>> at >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceCollaborator.invokePMI(PortletInvokerPerformanceCollaborator.java:137) >>>> at >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceCollaborator.doInvoke(PortletInvokerPerformanceCollaborator.java:83) >>>> at >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceCollaborator.doRender(PortletInvokerPerformanceCollaborator.java:68) >>>> at >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerCollaboratorChainImpl.doCollaborator(PortletInvokerCollaboratorChainImpl.java:57) >>>> at >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerImpl.render(PortletInvokerImpl.java:83) >>>> at >>>> com.ibm.ws.portletcontainer.PortletContainerImpl.doRender(PortletContainerImpl.java:115) >>>> at >>>> com.ibm.ws.portletcontainer.PortletContainerInvokerCollaboratorChainImpl.doCollaborator(PortletContainerInvokerCollaboratorChainImpl.java:79) >>>> at >>>> com.ibm.ws.portletcontainer.ext.ExtCollaborator.doRender(ExtCollaborator.java:70) >>>> at >>>> com.ibm.ws.portletcontainer.PortletContainerInvokerCollaboratorChainImpl.doCollaborator(PortletContainerInvokerCollaboratorChainImpl.java:67) >>>> at >>>> com.ibm.ws.portletcontainer.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:87) >>>> at >>>> com.ibm.ws.portletcontainer.pcinvoker.PortletInvokerImpl$2.run(PortletInvokerImpl.java:81) >>>> at >>>> java.security.AccessController.doPrivileged(AccessController.java:242) >>>> at >>>> com.ibm.ws.portletcontainer.pcinvoker.PortletInvokerImpl.invokeRender(PortletInvokerImpl.java:79) >>>> at >>>> com.ibm.ws.portletcontainer.portletserving.PortletServingServlet.invokePortletRender(PortletServingServlet.java:254) >>>> at >>>> com.ibm.ws.portletcontainer.portletserving.PortletServingServlet.service(PortletServingServlet.java:131) >>>> at >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989) >>>> at >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145) >>>> at >>>> com.ibm.ws.portletcontainer.portletserving.filter.PortletDocumentFilterContainer.doFilterEnd(PortletDocumentFilterContainer.java:60) >>>> at >>>> com.ibm.ws.portletcontainer.portletserving.filter.PortletDocumentFilterChain.doFilter(PortletDocumentFilterChain.java:55) >>>> at >>>> com.ibm.ws.portletcontainer.portletserving.filter.DefaultFilter.doFilter(DefaultFilter.java:58) >>>> at >>>> com.ibm.ws.portletcontainer.portletserving.filter.PortletDocumentFilterChain.doFilter(PortletDocumentFilterChain.java:49) >>>> at sample.PortletCssFilter.doFilter(PortletCssFilter.java:85) >>>> at >>>> com.ibm.ws.portletcontainer.portletserving.filter.PortletDocumentFilterChain.doFilter(PortletDocumentFilterChain.java:49) >>>> at >>>> com.ibm.ws.portletcontainer.portletserving.filter.PortletDocumentFilterContainer.doFilter(PortletDocumentFilterContainer.java:51) >>>> at >>>> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:766) >>>> at >>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:674) >>>> at >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498) >>>> at >>>> com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464) >>>> at >>>> com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122) >>>> at >>>> com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3276) >>>> at >>>> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:267) >>>> at >>>> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811) >>>> at >>>> com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455) >>>> at >>>> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113) >>>> at >>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454) >>>> at >>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383) >>>> at >>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263) >>>> at >>>> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) >>>> at >>>> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) >>>> at >>>> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) >>>> at >>>> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) >>>> at >>>> com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) >>>> at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) >>>> at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195) >>>> at >>>> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743) >>>> at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873) >>>> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469) >>>> >>>> >>>> >>>> So, can any one please let me konw how to resolve this issue. >>>> >>>> >>>> >>>> http://www.nabble.com/file/p17795510/web.xml web.xml >>>> >>>> http://www.nabble.com/file/p17795510/portlet.xml portlet.xml >>>> >>>> http://www.nabble.com/file/p17795510/applicationContext.xml >>>> applicationContext.xml >>>> >>>> http://www.nabble.com/file/p17795510/ServletContextProviderImpl.java >>>> ServletContextProviderImpl.java >>>> >>>> http://www.nabble.com/file/p17795510/PortalBridgePortletResourceURLFactoryImpl.java >>>> PortalBridgePortletResourceURLFactoryImpl.java >>>> >>>> >>>> >>>> >>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Spring-Wicket-Portlets-on-websphere-6.1-tp17795510p17847357.html >> Sent from the Wicket - Dev mailing list archive at Nabble.com. >> >> > > > > -- > Become a Wicket expert, learn from the best: http://wicketinaction.com > Apache Wicket 1.3.3 is released > Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.3 >
