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.

Reply via email to