cancel
Showing results for 
Search instead for 
Did you mean: 

Help on integrating 3rd party search engine

Former Member
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

thilo_brandt
Employee
Employee
0 Kudos

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

Former Member
0 Kudos

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.

thilo_brandt
Employee
Employee
0 Kudos

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

Former Member
0 Kudos

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)

#

thilo_brandt
Employee
Employee
0 Kudos

Hi T.J.,

If you create your own index set "Items to index" to "documents" only, additionally you could remove the NotSupportedExption() call from the clear() method of your CustomerSearchIndex implementation.

Best regards,

Thilo

Former Member
0 Kudos

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)

thilo_brandt
Employee
Employee
0 Kudos

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

Former Member
0 Kudos

Hi Thilo,

There is no crawler assigned to that index at all, But that is OK, the problem is when I do the search, nothing returned, is that supposed to happen? how can I search on those foosearch records?

thanks!

T.J.

thilo_brandt
Employee
Employee
0 Kudos

Hi T.J.,

have you assigned a dynamic Web RM to the dummy index for the FooSearch?

If yes, you have to ensure that the index is selected for search: press Show Options -> Index Groups: Show Indexes -> Select your dummy index.

Fire the search again.

Regards,

Thilo

Former Member
0 Kudos

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)

thilo_brandt
Employee
Employee
0 Kudos

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

Former Member
0 Kudos

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)

thilo_brandt
Employee
Employee
0 Kudos

Hi T.J.,

this seems not to be the coding with my proposal of the last post. There you do not need the mimetable any longer, but the Mimetypeservice instead. It looks like the old exception stack trace to me.

Thilo

Former Member
0 Kudos

Hi Thilo,

Do I need to restart the server to make the change in effect? I uploaded the new par changed accroding to your codes. But still got the same error.

T.J.

thilo_brandt
Employee
Employee
0 Kudos

Hi T.J.,

yes, in EP6 you have to restart the Engine after a KMC code deployment, even if it was only updated.

Thilo

Former Member
0 Kudos

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.

thilo_brandt
Employee
Employee
0 Kudos

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

Former Member
0 Kudos

Great, I will try that, please tell me where I can find the document how to integrate Google search engine. Thanks!

T.J.

thilo_brandt
Employee
Employee
0 Kudos

Hi T.J.,

sorry, but I don't know if there is an official document on this topic.

Regards,

Thilo

Former Member
0 Kudos

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_brandt
Employee
Employee
0 Kudos

Hi T.J.,

you have to keep track of the property definitions in standard KM. So Property Namespace and Property ID must be equals.

Take

IWcmConst.SAP_WCM_NAMESPACE

as namespace and

IWcmConst.PROP_<ID>

as Property ID than it shoul work.

Regards,

Thilo

Former Member
0 Kudos

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.

Former Member
0 Kudos

Thilo,

I found the IWcmConst class, and all the constant values, just wonder which one should I use for document excerpt, "description" or "documentabstract"? do I have to use URL to create resourceID? it seems it is very slow.

Thanks!

T.J.

thilo_brandt
Employee
Employee
0 Kudos

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

Former Member
0 Kudos

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.

Former Member
0 Kudos

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

Former Member
0 Kudos

Walter,

Thanks for the response, I need the document excerpt on the search result page. currently, all the result showing "no document excerpt avaiable". even though I have document summary in the document proporties.

T.J.

Former Member
0 Kudos

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

Answers (0)