on 02-23-2005 9:00 PM
Hi
we are on EP6 SP2.
I have downloaded com.customer.search by Thilo Brandt, and uploaded it into our system, restart the portal, created a web repository. created a virtual index based on this customer search global service, and used that web repository as data source. Then I did a search, it gave me the following error message:
Search Failure
Error during search occurred -com.sapportals.wcm.WcmException
An unexpected severe error occurred during the search call. If the situation persists, inform your system administrator.
I also checked the log file, here is the info from log:
#1.5#C000A76908A80011000000055563AAFF0003F0CDE63EA4D8#1109192051958#com.sapportals.wcm.control.util.search.SearchSessionBuilder#irj#com.sapportals.wcm.control.util.search.SearchSessionBuilder#System#0#####Client_Thread_86##0#0#Error##Plain###Error during search occurred - com.sapportals.wcm.WcmException - com.sapportals.wcm.WcmException
at com.sapportals.wcm.service.indexmanagement.retrieval.search.FederatedSearch$ParallelSearcher.run(FederatedSearch.java:284)
#
#1.5#C000A76908A80011000000065563AAFF0003F0CDE63EB090#1109192051962#com.sapportals.wcm.WcmException#irj#com.sapportals.wcm.WcmException.WcmException(43)#System#0#####Client_Thread_86##0#0#Error##Plain###com.sapportals.wcm.control.base.CommonSearchException
at com.sapportals.wcm.control.util.search.SearchSessionBuilder.doSearchWithSession(SearchSessionBuilder.java:861)
at com.sapportals.wcm.control.util.search.SearchSessionBuilder.buildSearchSession(SearchSessionBuilder.java:353)
at com.sapportals.wcm.rendering.collection.LightCollectionRenderer.createStatus(LightCollectionRenderer.java:813)
at com.sapportals.wcm.rendering.collection.LightCollectionRenderer.renderAll(LightCollectionRenderer.java:605)
at com.sapportals.wcm.rendering.control.cm.NeutralControl.render(NeutralControl.java:161)
at com.sapportals.wcm.rendering.layout.cm.SimpleLayoutController.render(SimpleLayoutController.java:39)
at com.sapportals.wcm.rendering.control.cm.WdfProxy.render(WdfProxy.java:1497)
at com.sapportals.wdf.layout.HorizontalLayout.renderControls(HorizontalLayout.java:42)
at com.sapportals.wdf.stack.Pane.render(Pane.java:155)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.WdfCompositeController.doInitialization(WdfCompositeController.java:281)
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:680)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:32)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.rendering.PageContext.render(PageContext.java:871)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:237)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:109)
at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:62)
at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.app.servlet.WcmHtmlbBaseServlet.service(WcmHtmlbBaseServlet.java:95)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:313)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
#
Any useful input is apprecaited! And I will reward the correct answers thanks!
T.J.
Hi T.J.,
can you check either with debugging or logging if the executeQueryWithSession() method of your ISearchIndexCollection implementation is passed with with following signature:
public ISearchSession executeQueryWithSession(IQueryEntryList queryEntryList,
IResourceContext context,int initNumberMaxRawResults, IRidList searchFromHereList,
ISortPropertyName sortProperty, Set languages) throws WcmException
If not, please delegate the passed executeQueryWithSession() method to this method signature.
Best regards,
Thilo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Thilo,
Thanks for the quick response, I really appreciate it. I put lot of logger inside both the class and the methods, none of them show up in our knowledgemanagement log file. I read your document, also imported the par file, and take a look at the codes, there is StartWrapper class, but there is no reference to CustomSearchIndex or CustomSearchIndexCollection classes at all in that StartWrapper class. I am lost about how the whole process work, and where they make the connection. I checked all the configration file, did not see any reference also. Please enlight me on this, thank you very much!
T.J.
Hi T.J.,
I have just uploaded a newer version of the zip archive with the sample code. I have fixed some stuff which could lead to a registration error in the KM. Maybe this was you problem. Could you download the new archive and compare the changed with you implementation?
Best regards,
Thilo
Hi Thilo,
Thanks for the response again, I downloaded the new sample code, and tried it, now the virtual index' status I created is red, I checked the log, get the following message:
#1.5#C000A76908A800150000000027CEE2920003F0EFF307DA00#1109338295358#com.sapportals.wcm.service.xmlforms.ConfigCleaner#irj#com.sapportals.wcm.service.xmlforms.ConfigCleaner#System#0#####Thread-678##0#0#Error##Plain###path "." does not exist.#
#1.5#C000A76908A800150000000127CEE2920003F0EFF307DDE8#1109338295360#com.sapportals.wcm.service.xmlforms.ConfigCleaner#irj#com.sapportals.wcm.service.xmlforms.ConfigCleaner#System#0#####Thread-678##0#0#Warning##Plain###Error while cleaning path ".".#
#1.5#C000A76908A800170000000027CEE2920003F0F00959D740#1109338669831#com.sapportals.trex.app.control.htmlb.wdf.ServerAvailabilityControl#irj#com.sapportals.trex.app.control.htmlb.wdf.ServerAvailabilityControl#System#0#####Client_Thread_96##0#0#Error##Plain###<null>#
#1.5#C000A76908A800180000000027CEE2920003F0F0100B8660#1109338782139#com.sapportals.wcm.control.indexadmin.IndexListControl#irj#com.sapportals.wcm.control.indexadmin.IndexListControl#System#0#####Client_Thread_66##0#0#Error##Plain###Method clear() not supported on CustomerSearchIndex implementation. - com.sapportals.wcm.WcmException: Method clear() not supported on CustomerSearchIndex implementation.
at com.customer.search.CustomerSearchIndex.clear(CustomerSearchIndex.java:105)
at com.sapportals.wcm.service.indexmanagement.AbstractIndex.reindex(AbstractIndex.java:666)
at com.sapportals.wcm.service.indexmanagement.AbstractIndex.reindex(AbstractIndex.java:646)
at com.sapportals.wcm.control.indexadmin.IndexListControl.onReindexIndexesOk(IndexListControl.java:791)
at java.lang.reflect.Method.invoke(Native Method)
at com.sapportals.wdf.stack.Control.dispatchHtmlbEvent(Control.java:389)
at com.sapportals.wdf.WdfEventDispatcher.dispatch(WdfEventDispatcher.java:175)
at com.sapportals.wdf.WdfCompositeController.onWdfEvent(WdfCompositeController.java:549)
at java.lang.reflect.Method.invoke(Native Method)
at com.sapportals.htmlb.page.DynPage.doProcessCompositeEvent(DynPage.java:204)
at com.sapportals.htmlb.page.DynPage.doProcessCurrentEvent(DynPage.java:142)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:101)
at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:62)
at com.sapportals.htmlb.page.PageProcessorServlet.doPost(PageProcessorServlet.java:23)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.app.servlet.WcmHtmlbBaseServlet.service(WcmHtmlbBaseServlet.java:95)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:313)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
#
#1.5#C000A76908A800190000000027CEE2920003F0F0152952F8#1109338867978#com.sapportals.wcm.service.indexmanagement.XDeltaIndexCrawlerReceiver#irj#com.sapportals.wcm.service.indexmanagement.XDeltaIndexCrawlerReceiver#System#0#####Thread-680##0#0#Error##Plain###Delta indexing failed: Method internalIndexDocuments() not supported on CustomerSearchIndex implementation. - com.sapportals.wcm.WcmException: Method internalIndexDocuments() not supported on CustomerSearchIndex implementation.
at com.customer.search.CustomerSearchIndex.internalIndexDocuments(CustomerSearchIndex.java:75)
at com.sapportals.wcm.service.indexmanagement.AbstractIndex.indexDocuments(AbstractIndex.java:482)
at com.sapportals.wcm.service.indexmanagement.AbstractIndex.indexDocuments(AbstractIndex.java:497)
at com.sapportals.wcm.service.indexmanagement.XDeltaIndexCrawlerReceiver.crawlFinished(XDeltaIndexCrawlerReceiver.java:231)
at com.sapportals.wcm.service.indexmanagement.XDeltaIndexCrawlerReceiver.crawlFinished(XDeltaIndexCrawlerReceiver.java:208)
at com.sapportals.wcm.service.xcrawler.task.CrawlerTask.callCrawlFinished(CrawlerTask.java:1553)
at com.sapportals.wcm.service.xcrawler.task.CrawlerTask.run(CrawlerTask.java:432)
at com.sapportals.wcm.service.xcrawler.RunCrawlerJob.start(RunCrawlerJob.java:115)
at com.sapportals.wcm.service.xcrawler.job.CrawlerJobControl$JobRunnerThread.run(CrawlerJobControl.java:1441)
#1.5#C000A76908A8001B0000000027CEE2920003F0F0174B44B0#1109338903757#com.sapportals.trex.app.control.htmlb.wdf.ServerAvailabilityControl#irj#com.sapportals.trex.app.control.htmlb.wdf.ServerAvailabilityControl#System#0#####Client_Thread_73##0#0#Error##Plain###<null>#
#1.5#C000A76908A8001C0000000027CEE2920003F0F01A3B9A58#1109338953062#com.sapportals.trex.app.control.htmlb.wdf.ServerAvailabilityControl#irj#com.sapportals.trex.app.control.htmlb.wdf.ServerAvailabilityControl#System#0#####Client_Thread_38##0#0#Error##Plain###<null>#
#1.5#C000A76908A8001D0000000027CEE2920003F0F01B36F9E8#1109338969535#com.sapportals.wcm.WcmException#irj#com.sapportals.wcm.WcmException.WcmException(118)#System#0#####Thread-682##0#0#Error##Plain###com/sapportals/wcm/service/indexmanagement/retrieval/search/IRawSearchSession java.lang.NoClassDefFoundError: com/sapportals/wcm/service/indexmanagement/retrieval/search/IRawSearchSession
at com.customer.search.CustomerSearchIndexCollection.executeQueryWithSession(CustomerSearchIndexCollection.java:171)
at com.sapportals.wcm.service.indexmanagement.retrieval.search.FederatedSearch$ParallelSearcher.run(FederatedSearch.java:276)
#
#1.5#C000A76908A8001E0000000027CEE2920003F0F01B3701B8#1109338969538#com.sapportals.wcm.control.util.search.SearchSessionBuilder#irj#com.sapportals.wcm.control.util.search.SearchSessionBuilder#System#0#####Client_Thread_56##0#0#Error##Plain###Error during search occurred - com.sapportals.wcm.WcmException: com/sapportals/wcm/service/indexmanagement/retrieval/search/IRawSearchSession - com.sapportals.wcm.WcmException: com/sapportals/wcm/service/indexmanagement/retrieval/search/IRawSearchSession
at com.sapportals.wcm.service.indexmanagement.retrieval.search.FederatedSearch$ParallelSearcher.run(FederatedSearch.java:284)
#
#1.5#C000A76908A8001E0000000127CEE2920003F0F01B370D70#1109338969542#com.sapportals.wcm.WcmException#irj#com.sapportals.wcm.WcmException.WcmException(43)#System#0#####Client_Thread_56##0#0#Error##Plain###com.sapportals.wcm.control.base.CommonSearchException
at com.sapportals.wcm.control.util.search.SearchSessionBuilder.doSearchWithSession(SearchSessionBuilder.java:861)
at com.sapportals.wcm.control.util.search.SearchSessionBuilder.buildSearchSession(SearchSessionBuilder.java:353)
at com.sapportals.wcm.rendering.collection.LightCollectionRenderer.createStatus(LightCollectionRenderer.java:813)
at com.sapportals.wcm.rendering.collection.LightCollectionRenderer.renderAll(LightCollectionRenderer.java:605)
at com.sapportals.wcm.rendering.control.cm.NeutralControl.render(NeutralControl.java:161)
at com.sapportals.wcm.rendering.layout.cm.SimpleLayoutController.render(SimpleLayoutController.java:39)
at com.sapportals.wcm.rendering.control.cm.WdfProxy.render(WdfProxy.java:1497)
at com.sapportals.wdf.layout.HorizontalLayout.renderControls(HorizontalLayout.java:42)
at com.sapportals.wdf.stack.Pane.render(Pane.java:155)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.WdfCompositeController.doInitialization(WdfCompositeController.java:281)
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:680)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:32)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.rendering.PageContext.render(PageContext.java:871)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:237)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:109)
at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:62)
at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.app.servlet.WcmHtmlbBaseServlet.service(WcmHtmlbBaseServlet.java:95)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:313)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
#
Hi Thilo,
Thanks for the response like always. I deleted the old custom search par file, deleted the virtual index, and uploaded the new par file from you, and created a new index, restarted the server. Now the Index still got red status, But when I do the search, it does not display error anymore, but it does not show any result either, even I search on *. I think it is because we removed the NotSupportedException() from clear() as you suggested. how should we proceed next? Here is the log file:
#1.5#C000A76908A800030000000008CE7C870003F13115DD4858#1109618052646#com.sapportals.wcm.service.indexmanagement.XIndexCrawlerReceiver#irj#com.sapportals.wcm.service.indexmanagement.XIndexCrawlerReceiver#System#0#####Thread-498##0#0#Error##Plain###Error indexing documents: Method internalIndexDocuments() not supported on CustomerSearchIndex implementation. - com.sapportals.wcm.WcmException: Method internalIndexDocuments() not supported on CustomerSearchIndex implementation.
at com.customer.search.CustomerSearchIndex.internalIndexDocuments(CustomerSearchIndex.java:83)
at com.sapportals.wcm.service.indexmanagement.AbstractIndex.indexDocuments(AbstractIndex.java:482)
at com.sapportals.wcm.service.indexmanagement.AbstractIndex.indexDocuments(AbstractIndex.java:497)
at com.sapportals.wcm.service.indexmanagement.XIndexCrawlerReceiver.crawlFinished(XIndexCrawlerReceiver.java:101)
at com.sapportals.wcm.service.indexmanagement.XIndexCrawlerReceiver.crawlFinished(XIndexCrawlerReceiver.java:79)
at com.sapportals.wcm.service.xcrawler.task.CrawlerTask.callCrawlFinished(CrawlerTask.java:1553)
at com.sapportals.wcm.service.xcrawler.task.CrawlerTask.run(CrawlerTask.java:432)
at com.sapportals.wcm.service.xcrawler.RunCrawlerJob.start(RunCrawlerJob.java:115)
Hi T.J.,
the exception is thrwn if a crawler is assigned to this index. Unless it is a virtual index, which is not designed to be crawled you should either remove the crawler assignment or implement the crawlable methods of the interface like internalIndexDocuments(). I would recommend to remove the assignment.
Best regards,
Thilo
Hi Thilo,
I was using static WR, after I changed to Dynamic WR. The index look fine. but when I click on search, I got the following error on the search page:
com.sapportals.wdf.WdfError
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:699)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:32)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.rendering.PageContext.render(PageContext.java:871)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:237)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:109)
at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:62)
at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.app.servlet.WcmHtmlbBaseServlet.service(WcmHtmlbBaseServlet.java:95)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:313)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
--- Nested WDF Error -
com.sapportals.wdf.WdfException
at com.sapportals.wdf.WdfCompositeController.doInitialization(WdfCompositeController.java:312)
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:680)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:32)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.rendering.PageContext.render(PageContext.java:871)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:237)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:109)
at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:62)
at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.app.servlet.WcmHtmlbBaseServlet.service(WcmHtmlbBaseServlet.java:95)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:313)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
--- Nested WDF Exception -
java.lang.NoClassDefFoundError: com/sapportals/wcm/util/mimetypes/MimeTable
at com.customer.search.CustomerSearchIndexCollection.addMissingStandardProperties(CustomerSearchIndexCollection.java:412)
at com.customer.search.CustomerSearchIndexCollection.getSearchResults(CustomerSearchIndexCollection.java:325)
at com.sapportals.wcm.service.indexmanagement.retrieval.search.SearchSession.getSearchResults(SearchSession.java:280)
at com.sapportals.wcm.service.indexmanagement.retrieval.search.FederatedSearchSession.getSearchResults(FederatedSearchSession.java:150)
at com.sapportals.wcm.rendering.collection.SearchRendererStatus.refresh(SearchRendererStatus.java:155)
at com.sapportals.wcm.rendering.collection.LightCollectionRenderer.createStatus(LightCollectionRenderer.java:822)
at com.sapportals.wcm.rendering.collection.LightCollectionRenderer.renderAll(LightCollectionRenderer.java:605)
at com.sapportals.wcm.rendering.control.cm.NeutralControl.render(NeutralControl.java:161)
at com.sapportals.wcm.rendering.layout.cm.SimpleLayoutController.render(SimpleLayoutController.java:39)
at com.sapportals.wcm.rendering.control.cm.WdfProxy.render(WdfProxy.java:1497)
at com.sapportals.wdf.layout.HorizontalLayout.renderControls(HorizontalLayout.java:42)
at com.sapportals.wdf.stack.Pane.render(Pane.java:155)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.WdfCompositeController.doInitialization(WdfCompositeController.java:281)
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:680)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:32)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.rendering.PageContext.render(PageContext.java:871)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:237)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:109)
at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:62)
at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.app.servlet.WcmHtmlbBaseServlet.service(WcmHtmlbBaseServlet.java:95)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:313)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
Hi T.J.,
it ssems that a valid ClassDefinition for Mimetybel is missing. Replace the line 412 in CustomerSearchIndexCollection with the following:
//get mime type for extension
try {
IMime mime = getMimeHandler().get(docRid);
if (mime!=null) {
String mimeType = mime.getType();
if (mimeType != null && mimeType.length() > 0) {
mutablePropertyMap.put(Property.createContentTypeProp(mimeType));
}
}
} catch (ResourceException e) {
// not handled properly
} catch (WcmException e) {
// not handled properly
}
Add the following static method to the class as well:
private static IMimeHandlerService getMimeHandler() throws com.sapportals.wcm.repository.ResourceException {
if (CustomerSearchIndexCollection.m_mimehandler==null) {
CustomerSearchIndexCollection.m_mimehandler = (IMimeHandlerService)ResourceFactory.getInstance().getServiceFactory().getService(
IServiceTypesConst.MIME_SERVICE);
}
return CustomerSearchIndexCollection.m_mimehandler;
}
Redeploy and the mime error should be gone.
Regards,
Thilo
Hi Thilo,
Now it seems that Mimetable is missing. see the following error message:
com.sapportals.wdf.WdfError
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:699)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:32)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.rendering.PageContext.render(PageContext.java:871)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:237)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:109)
at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:62)
at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.app.servlet.WcmHtmlbBaseServlet.service(WcmHtmlbBaseServlet.java:95)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:313)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
--- Nested WDF Error -
com.sapportals.wdf.WdfException
at com.sapportals.wdf.WdfCompositeController.doInitialization(WdfCompositeController.java:312)
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:680)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:32)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.rendering.PageContext.render(PageContext.java:871)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:237)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:109)
at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:62)
at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.app.servlet.WcmHtmlbBaseServlet.service(WcmHtmlbBaseServlet.java:95)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:313)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
--- Nested WDF Exception -
java.lang.NoClassDefFoundError: com/sapportals/wcm/util/mimetypes/MimeTable
at com.customer.search.CustomerSearchIndexCollection.addMissingStandardProperties(CustomerSearchIndexCollection.java:412)
at com.customer.search.CustomerSearchIndexCollection.getSearchResults(CustomerSearchIndexCollection.java:325)
at com.sapportals.wcm.service.indexmanagement.retrieval.search.SearchSession.getSearchResults(SearchSession.java:280)
at com.sapportals.wcm.service.indexmanagement.retrieval.search.FederatedSearchSession.getSearchResults(FederatedSearchSession.java:150)
at com.sapportals.wcm.rendering.collection.SearchRendererStatus.refresh(SearchRendererStatus.java:155)
at com.sapportals.wcm.rendering.collection.LightCollectionRenderer.createStatus(LightCollectionRenderer.java:822)
at com.sapportals.wcm.rendering.collection.LightCollectionRenderer.renderAll(LightCollectionRenderer.java:605)
at com.sapportals.wcm.rendering.control.cm.NeutralControl.render(NeutralControl.java:161)
at com.sapportals.wcm.rendering.layout.cm.SimpleLayoutController.render(SimpleLayoutController.java:39)
at com.sapportals.wcm.rendering.control.cm.WdfProxy.render(WdfProxy.java:1497)
at com.sapportals.wdf.layout.HorizontalLayout.renderControls(HorizontalLayout.java:42)
at com.sapportals.wdf.stack.Pane.render(Pane.java:155)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
at com.sapportals.wdf.WdfCompositeController.doInitialization(WdfCompositeController.java:281)
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:680)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:32)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.Container.preRender(Container.java:118)
at com.sapportals.htmlb.rendering.PageContext.render(PageContext.java:871)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:237)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:109)
at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:62)
at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sapportals.wcm.app.servlet.WcmHtmlbBaseServlet.service(WcmHtmlbBaseServlet.java:95)
at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:313)
at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
Hi Thilo,
you are the man! it is working. Thanks!
still have one question, no matter what I search on, every time, it will take about 60 seconds to show the result, also always the same results (3 documents). any configuration can be done to improve the performance? also where I can find the documentation for integrating Google search example?
T.J.
Hi T.J.,
the result in the foo example is hard coded and return a set of 3 results every time your fire a search, independently from the query string. The performance can be improved by assigning and customizing a memory cahce for your dynamic Web RM. Also an improvement would be the return of valid URLs in the result, because each resutl is requested by the RF. If a URL is not reachable, like the sample URLs are, you wait until the timeout. This may cause your situation.
Regards,
Thilo
Thilo,
Thanks for the previous help, I have been working integrating Stellent search into KM index. I got most of search result mapped, like title, size, url. all show up on result page, but only description missing, even I put static string for it, it still not showing up. I am still using the same template from your FooSearch example, any idea what could be wrong? and how those metadata really mapped to KM standard proporties? by nameing? for example: title, url, description .... or by order? is there documentation on this? Thanks!
T.J.
Thilo,
Thanks for the response, I am not sure I understand what you are refering to. following is the codes you use for mapping proporties.
public final static String RESULT_KEY_TITEL = "title";
public final static String RESULT_KEY_URL = "url";
public final static String RESULT_KEY_DESCRIPTION = "description";
public final static String RESULT_KEY_SIZE = "size";
should I change those naming to something else, if so, where I can find IWcmConst.* ?
T.J.
Hi T.J.,
"documentabstract" should be the right one. Th e URL generation for the RID is neccessary if you have no repository manager which contains your data as resource objects. The dynamic web RM generates a temporary resource out of the URL and keeps it unless the search result is valid or the timeout of the web RM is applied.
Regards,
Thilo
Thilo,
I tried documentabstract, but it is still not showing up. you mentioned to use IWcmConst.SAP_WCM_NAMESPACE, I really have no idea how to use it. do you mean I put IWcmConst.SAP_WCM_NAMESPACE in front of "documentabstract" proporty? like IWcmConst.SAP_WCM_NAMESPACE.documentabstract? thanks!
T.J.
Dear T.J.
within the method
ISearchResultList createSearchResultList(IRidList ridList, Map resultPropsMap, IResourceContext context)
you have the ISearchResult searchResult object, where you have to fill the
setContentSnippet("Content Snippet Text") - method with your text.
The description-field you will see in the details-screen of a document.
Best regards
Walter
Hello,
I have tried to use the method <b>setContentSnippet("XXXXX")</b> but the documentabstract is not displayed. I already have "No document excerpt available".
But when I use the method <b>setContentSnippet("XXXXX")</b>, the link <i>HTML version</i> is now displayed on each result row.
Can you tell me how to display the documentabstract correctly?
Thanks,
Fabien
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.