Skip to Content
0
Mar 19, 2018 at 07:08 AM

Problem with ResourceFactory.getInstance() servlet

115 Views Last edit Jun 13, 2018 at 12:08 PM 2 rev

Hi guys,

I am developing a Search Application using the KM Indexmanagement API for TREX.

As part of my development, i need current loged in USER,

i am getting IUSER Object using com.sap.security.IUser.(NEW VERSION API OBJECT)

Now I need to get an instance of the indexmanagement service from ResourceFactory

But i occurs the problem as below:

[EXCEPTION]
java.lang.NoClassDefFoundError: com/sapportals/wcm/crt/CrtClassLoaderRegistry
at com.sapportals.wcm.repository.ResourceFactory.getInstance(ResourceFactory.java:49)

at ca.pwc.netweaver.search.SearchServlet.doGet(SearchServlet.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:466)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)

***********************************************************

After using

// force a user to be logged into our web application

com.sap.security.api.IUser nwUser = UMFactory.getAuthenticator().
forceLoggedInUser(request, 
  response
); 

if (nwUser == null) {     response.getWriter().write("<b>Access denied !</b></body>");    return; } 
if (nwUser!=null) {
// create a valid resource context useable for search           IResourceContext c = ResourceContext.getInstance(nwUser);  
try {
// get an instance of the indexmanagement service
//get a resource factory
IResourceFactory resourceFactory = ResourceFactory.getInstance();
IIndexService indexService = (IIndexService) resourceFactory.getServiceFactory().getService(IServiceTypesConst.INDEX_SERVICE); 

I explained my problem in detail, if any one has solution please help me out.

Thanks in advance

regards