Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ClassCastException on lookup of a portletservice

3 views
Skip to first unread message

sebastian...@elaxy.de

unread,
Jan 28, 2008, 9:15:00 AM1/28/08
to
Hello,

i get a ClassCastException while doing a lookup of a portletservice in the jndi tree. The source of the portletservice can be found as attachement. The exception occurs when the following line is executed in the init - method of a JSR - Portlet.

<b>PortletServiceHome serviceHome = (PortletServiceHome) ctx.lookup("portletservice/jndi.de.sdv.portal.portletservice.mbsaccessservice.MBSAccessService");</b>

I registered the portlet service according to <a class="jive-link-external" href="http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.exp.doc/wps/wpsptservice.html">http://publib.boulder.ibm.com/infocenter/w pdoc/v6r0/index.jsp?topic=/com.ibm.wp.exp.doc/wps/wpsptservice.html</a>
I did the following settings to register the service:
<b>entry in .. &gt; WP PortletServiceRegistryService &gt; referable objects:<i>factory class name = com.ibm.wps.pe.pc.legacy.service.PortletServiceDefaultFactory</i></b>
<b><i>class name = de.sdv.portal.portletservice.mbsaccessservice.MBSAccessServiceImpl</i></b>
<b>entry in .. &gt; WP PortletServiceRegistryService &gt; resource environment:<i>name = de.sdv.portal.portletservice.mbsaccessservice.MBSAccessService JNDI-Name = portletservice/jndi.de.sdv.portal.portletservice.mbsaccessservice.MBSAccessService</b>
<b>referable objects = com.ibm.wps.pe.pc.legacy.service.PortletServiceDefaultFactory</i></b>

<u>How can i successfully create a jndi lookup for this service?</u>

Regards, Heiko

<b>StackTrace:</b>
com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is java.lang.ClassCastException]
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:952)
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:701)
at com.ibm.ws.naming.jndicos.CNContextImpl.processResolveResults(CNContextImpl.java:1937)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1792)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1707)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1412)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1290)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:145)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.elaxy.web.portal.portlet.JSRUserPortlet.init(Unknown Source)
at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet$PortletClone.&lt;init&gt;(PortletServlet.java:396)
at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.initPortletDefinition(PortletServlet.java:308)
at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.getPortletClone(PortletServlet.java:279)
at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.dispatch(PortletServlet.java:104)
at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.doGet(PortletServlet.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at com.ibm.wps.pe.pc.std.cache.CacheablePortlet.service(CacheablePortlet.java:393)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:633)
at com.ibm.wps.pe.om.definition.impl.ServletDefinitionImpl$RDWrapper.include(ServletDefinitionImpl.java:419)
at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:204)
at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:168)
at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.render(PortletInvokerImpl.java:97)
at com.ibm.wps.pe.pc.std.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:110)
at com.ibm.wps.pe.pc.PortletContainerImpl.doRenderPortlet(PortletContainerImpl.java:587)
at com.ibm.wps.pe.ext.render.AbstractRenderManager.performService(AbstractRenderManager.java:247)
at com.ibm.wps.pe.pc.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:115)
at com.ibm.wps.engine.tags.PortletRenderTag.doStartTag(PortletRenderTag.java:161)
at com.ibm._jsp._Control._jspx_meth_portal$1skin_portletRender_0(_Control.java:953)
at com.ibm._jsp._Control._jspx_meth_portal$1logic_if_4(_Control.java:985)
at com.ibm._jsp._Control._jspService(_Control.java:582)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:254)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:633)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.handleRequest(DispatcherServiceImpl.java:87)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.include(DispatcherServiceImpl.java:52)
at com.ibm.wps.services.dispatcher.Dispatcher.include(Dispatcher.java:45)
at com.ibm.wps.engine.templates.skins.Default.render(Default.java:115)
at com.ibm.wps.engine.templates.SkinTemplate.render(SkinTemplate.java:71)
at com.ibm.wps.composition.elements.Component.render(Component.java:782)
at com.ibm.wps.composition.elements.Control.render(Control.java:132)
at com.ibm.wps.composition.Composition.render(Composition.java:2586)
at com.ibm.websphere.personalization.transformation.PznTransformationLayoutModel.render(PznTransformationLayoutModel.java:70)
at com.ibm.wps.model.wrappers.LayoutModelWrapperFactoryImpl$LayoutModelWrapperImpl.render(LayoutModelWrapperFactoryImpl.java:218)
at com.ibm.wps.engine.tags.ComponentRenderTag.doStartTag(ComponentRenderTag.java:89)
at com.ibm._jsp._UnlayeredContainer_2D_V._jspx_meth_portal$1skin_layoutNodeRender_0(_UnlayeredContainer_2D_V.java:253)
at com.ibm._jsp._UnlayeredContainer_2D_V._jspService(_UnlayeredContainer_2D_V.java:157)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:254)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:633)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.handleRequest(DispatcherServiceImpl.java:87)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.include(DispatcherServiceImpl.java:52)
at com.ibm.wps.services.dispatcher.Dispatcher.include(Dispatcher.java:45)
at com.ibm.wps.engine.templates.skins.Default.render(Default.java:115)
at com.ibm.wps.engine.templates.SkinTemplate.render(SkinTemplate.java:71)
at com.ibm.wps.composition.elements.Component.render(Component.java:782)
at com.ibm.wps.composition.Composition.render(Composition.java:2586)
at com.ibm.websphere.personalization.transformation.PznTransformationLayoutModel.render(PznTransformationLayoutModel.java:70)
at com.ibm.wps.model.wrappers.LayoutModelWrapperFactoryImpl$LayoutModelWrapperImpl.render(LayoutModelWrapperFactoryImpl.java:218)
at com.ibm.wps.engine.tags.ComponentRenderTag.doStartTag(ComponentRenderTag.java:89)
at com.ibm._jsp._UnlayeredContainer_2D_H._jspx_meth_portal$1skin_layoutNodeRender_0(_UnlayeredContainer_2D_H.java:274)
at com.ibm._jsp._UnlayeredContainer_2D_H._jspService(_UnlayeredContainer_2D_H.java:173)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:254)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:633)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.handleRequest(DispatcherServiceImpl.java:87)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.include(DispatcherServiceImpl.java:52)
at com.ibm.wps.services.dispatcher.Dispatcher.include(Dispatcher.java:45)
at com.ibm.wps.engine.templates.skins.Default.render(Default.java:115)
at com.ibm.wps.engine.templates.SkinTemplate.render(SkinTemplate.java:71)
at com.ibm.wps.composition.elements.Component.render(Component.java:782)
at com.ibm.wps.composition.Composition.render(Composition.java:2586)
at com.ibm.websphere.personalization.transformation.PznTransformationLayoutModel.render(PznTransformationLayoutModel.java:70)
at com.ibm.wps.model.wrappers.LayoutModelWrapperFactoryImpl$LayoutModelWrapperImpl.render(LayoutModelWrapperFactoryImpl.java:218)
at com.ibm.wps.engine.tags2.PageRenderTag.doStartTag(PageRenderTag.java:396)
at com.ibm._jsp._Home._jspService(_Home.java:82)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:254)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:633)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.handleRequest(DispatcherServiceImpl.java:87)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.include(DispatcherServiceImpl.java:52)
at com.ibm.wps.services.dispatcher.Dispatcher.include(Dispatcher.java:54)
at com.ibm.wps.engine.templates.screens.Default.render(Default.java:91)
at com.ibm.wps.engine.templates.ScreenTemplate.render(ScreenTemplate.java:61)
at com.ibm.wps.engine.tags2.ScreenRenderTag.doStartTag(ScreenRenderTag.java:89)
at com.ibm._jsp._Default._jspx_meth_portal$1core_screenRender_0(_Default.java:4658)
at com.ibm._jsp._Default._jspService(_Default.java:2433)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:254)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:633)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.handleRequest(DispatcherServiceImpl.java:87)
at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.include(DispatcherServiceImpl.java:52)
at com.ibm.wps.services.dispatcher.Dispatcher.include(Dispatcher.java:45)
at com.ibm.wps.engine.templates.themes.Default.render(Default.java:142)
at com.ibm.wps.engine.templates.ThemeTemplate.render(ThemeTemplate.java:67)
at com.ibm.wps.engine.phases.WPRenderPhase.processRendering(WPRenderPhase.java:225)
at com.ibm.wps.engine.phases.WPBaseRenderPhase.execute(WPBaseRenderPhase.java:166)
at com.ibm.wps.state.phases.AbstractRenderPhase.next(AbstractRenderPhase.java:106)
at com.ibm.wps.engine.phases.WPAbstractRenderPhase.next(WPAbstractRenderPhase.java:94)
at com.ibm.wps.engine.Servlet.callPortal(Servlet.java:771)
at com.ibm.wps.engine.Servlet.doGet(Servlet.java:609)
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:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:136)
at com.ibm.wps.state.filter.StateCleanup.doFilter(StateCleanup.java:86)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
at com.ibm.wps.mappingurl.impl.URLAnalyzer.doFilter(URLAnalyzer.java:263)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:89)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1924)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:112)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
Caused by: java.lang.ClassCastException
at javax.naming.spi.NamingManager.getObjectFactoryFromReference(NamingManager.java:146)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:299)
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:894)
... 166 more

Jim Barnes

unread,
Jan 28, 2008, 9:28:16 AM1/28/08
to
Change this <p>
portletservice/jndi.de.sdv.portal.portletservice.mbsaccessservice.MBSAccessService referable objects = com.ibm.wps.pe.pc.legacy.service.PortletServiceDefaultFactory<p>
to something like this<p>
jndi.com.ibm.wps.l2.mailservice.IMailService <p>
Jim

<br>
IBM Certified System Administrator -- WebSphere Portal V6.0, V5.1, V5.0<br>
IBM Certified Solution Developer -- WebSphere Portal V5.1, v6.0<br>
<br>
The postings on this site are my own and do not necessarily represent the positions, strategies, or opinions of IBM

sebastian...@elaxy.de

unread,
Jan 28, 2008, 10:17:00 AM1/28/08
to
when i change the jndi - name to jndi.fullqualifiedClassName the entry is placed in the root of the Portals server JNDI - Tree, not in the portletservice - directory.<br><br>
serviceHome = (PortletServiceHome) ctx.lookup("jndi.de.sdv.portal.portletservice.mbsaccessservice.MBSAccessService")
<br><br>
results in a ClassCastException
<br><br>
serviceHome = (PortletServiceHome) ctx.lookup("de.sdv.portal.portletservice.mbsaccessservice.MBSAccessService")
<br><br>results in a javax.naming.NameNotFoundException
<br>Any further suggestions? Regards, Heiko

Jim Barnes

unread,
Jan 28, 2008, 10:32:35 AM1/28/08
to
well I think the class cast exceptions is coming from the fact that you are calling a factory and not a portlet service.<br>
also the example I gave you before I am still calling like this
Object home = ctx
.lookup("portletservice/com.ibm.wps.l2.mailservice.IMailService");

Are you expecting it to call your factory and you factory can decide what type of service to return?

sebastian...@elaxy.de

unread,
Jan 28, 2008, 11:20:53 AM1/28/08
to
I don't need a special factory class. In fact I only want to call the portlet service. But I'm struggling with the WAS - console. <br>
In former wps - versions you only needed to put your entries in the file PortletServiceRegistryService.properties like

<br><br>jndi:fullqualifiedClassNameOfInterface = fullqualifiedClassNameOfPortletServiceImplementation<br><br>

But in the WAS - console I have to create a referable object where I have to input a factory class. Because I dont't need a special one, I decided to choose the PortletServiceDefaultFactory class. <br> So how can I create an JNDI - Entry for my PortletService without the need of choosing a factory class? Heiko

Jim Barnes

unread,
Jan 28, 2008, 11:26:04 AM1/28/08
to
I have never set up this referable objects you are talking about.
all I did was add this entry in the was console under the WP portletserviceregistryservice

sebastian...@elaxy.de

unread,
Jan 28, 2008, 11:53:53 AM1/28/08
to
So there seem to be some differences. We use the following version:
<br>
IBM WebSphere Portal 6.0.1
Build Level: wp601_194 2007-04-01 10:52

Jim Barnes

unread,
Jan 28, 2008, 12:03:47 PM1/28/08
to
now I see the issue, you need to enter the additional portlet services under custom properties not under resource env entries
Jim<br>
And I am on 601 as well

sebastian...@elaxy.de

unread,
Jan 28, 2008, 12:26:03 PM1/28/08
to
I did the changes under custom properties an it works.<br>Thank you.<br>Regards, Heiko
0 new messages