cancel
Showing results for 
Search instead for 
Did you mean: 

**Urgent** Reading PCD objects

Former Member
0 Kudos

How do I find the JAR file which contains these 2 classes? I spend hours using jarfinder trying different search terms.

com.sap.portal.pcm.admin.PcmConstants;

com.sap.portal.directory.Constants;

What's the name of the jar? Is it in Netweaver studio plugin directory or on portal server.

I need it for following code to lookup System properties:

-


Hashtable env = new Hashtable();

env.put(Context.INITIAL_CONTEXT_FACTORY,

IPcdContext.PCD_INITIAL_CONTEXT_FACTORY);

env.put(Context.SECURITY_PRINCIPAL, request.getUser());

env.put(Constants.REQUESTED_ASPECT,

PcmConstants.ASPECT_SEMANTICS);

InitialContext iCtx = null;

try

{

String systemID = "pcd:portal_content/myFolder/mySystem";

iCtx = new InitialContext(env);

ISystem result =(ISystem)iCtx.lookup(systemID);

}

catch(Exception e)

{

}

-


Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hey..

AFAIK, ClassLocator is the best .. just kidding..But its cool tool man..

com.sap.portal.pcm.admin.PcmConstants; is located in com.sap.portal.pcm.admin.apiservice_api.jar (its located on the server, not in PDK)

com.sap.portal.directory.Constants is located in prtjndiruntime.jar (located in the list of jars downloaded from PDK)

Thank you

Former Member
0 Kudos

I found the com.sap.portal.pcm.admin.apiservice_api.jar but I am not able to find the prtjndiruntime.jar. I looked in my eclipse plugin directory where I have netweaver studio installed. I am using version 2.0.9 of the netweaver developer studio.

Also I search SDN & goolge for prtjndiruntime.jar to see if there is any references. I don't see any. Is this the correct name? Where can I get this file?

Former Member
0 Kudos

prtjndisupport.jar thatz the name of the jar, u might need.

email me on sapmails@gmail.com if u need it.

What are you tyrin to achieve? Could you explain lil more about the task?

Regards,

P.

Former Member
0 Kudos

Thanks Peter. I found the jar file.

I need to get the hostname, client & system number information from a "system" landscape object. All I have is the system alias information & full path of that system alias object.

Here is how I was attempting to do that. Now I am getting "Access denied (Object(s): portal_content/XYZ/test_XYZ_0)"

I am sure that the path is right. Because earlier I had wrong path & portal complained that the path is wrong. This time it's not complaining about the path. Here is my code. I get the "access denided on the lookup() call"

-


Context ctx = null;

Hashtable env = new Hashtable();

env.put(Context.INITIAL_CONTEXT_FACTORY,IPcdContext.PCD_INITIAL_CONTEXT_FACTORY);

env.put(Context.SECURITY_PRINCIPAL, "admin");

env.put(Context.SECURITY_CREDENTIALS, "XXXX");

env.put(Context.PROVIDER_URL,"XXX:50004");

env.put(Constants.REQUESTED_ASPECT, PcmConstants.ASPECT_SEMANTICS);

InitialContext iCtx = null;

try

{

String systemID = "pcd:portal_content/XYZ/test_XYZ_0";

iCtx = new InitialContext(env);

ISystem sapSystem =(ISystem) iCtx.lookup(systemID);

Vector allKey = sapSystem.getAttributeKeys();

for (int i=0; i < allKey.size(); i++){

String temp = allKey.get(i).toString();

LOG.debug("attribute " + i + " " + temp);

}

-


Here is the exception

-


(java.lang.StackTraceElement[]) [com.sapportals.portal.pcd.gl.PcdFilterContext.filterLookup(PcdFilterContext.java:390), com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1066), com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1072), com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1072), com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookupLink(PcdProxyContext.java:1168), com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookup(PcdProxyContext.java:1115), com.sapportals.portal.pcd.gl.PcdProxyContext.lookup(PcdProxyContext.java:909), com.sapportals.portal.pcd.gl.PcdGlContext.lookup(PcdGlContext.java:78), com.sapportals.portal.pcd.gl.PcdURLContext.lookup(PcdURLContext.java:238), javax.naming.InitialContext.lookup(InitialContext.java:347), javax.naming.InitialContext.lookup(InitialContext.java:347), com.documentum.ei.epiviews.relatedsearch.ListResultView.wdDoInit(ListResultView.java:163), com.documentum.ei.epiviews.relatedsearch.wdp.InternalListResultView.wdDoInit(InternalListResultView.java:204), com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doInit(DelegatingView.java:61), com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215), com.sap.tc.webdynpro.progmodel.view.View.initController(View.java:274), com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200), com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:540), com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:422), com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:130), com.sap.tc.webdynpro.progmodel.view.InterfaceView.initController(InterfaceView.java:41), com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200), com.sap.tc.webdynpro.clientserver.cal.ClientComponent.displayToplevelComponent(ClientComponent.java:134), com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:374), com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:593), com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59), com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:249), com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154), com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116), com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:48), javax.servlet.http.HttpServlet.service(HttpServlet.java:740), javax.servlet.http.HttpServlet.service(HttpServlet.java:853), com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385), com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263), com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340), com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318), com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821), com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239), com.sap.engine.services.httpserver.server.Client.handle(Client.java:92), com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147), com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37), com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71), com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37), java.security.AccessController.doPrivileged(Native Method), com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94), com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)]

-


Former Member
0 Kudos

This might help you.

Regards,

P.

Dan_Wroblewski
Developer Advocate
Developer Advocate
0 Kudos

Hi,

Instead of:

env.put(Context.SECURITY_PRINCIPAL, "admin");

env.put(Context.SECURITY_CREDENTIALS, "XXXX");

env.put(Context.PROVIDER_URL,"XXX:50004");

I put:

env.put(Context.SECURITY_PRINCIPAL, request.getUser());

and it works, assuming the current user has permission. You could insert instead the default PCD service user.

Hope this helps.

Daniel

Former Member
0 Kudos

I am still getting access denied. I checked the permission of the adminstrator & he has the all permission on this system object. I also tried WDClientUser.getCurrentUser().getClientUserID()

I am using this code in a webdynpro application. May be there is something special I need to do in a web dynpro application?

Here is the exception I am getting:

com.sapportals.portal.pcd.gl.PermissionControlException: Access denied (Object(s): portal_content/XYZ/XYZ_0)

[com.sapportals.portal.pcd.gl.PcdFilterContext.filterLookup(PcdFilterContext.java:390), com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1066), com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1072), com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1072), com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookupLink(PcdProxyContext.java:1168), com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookup(PcdProxyContext.java:1115), com.sapportals.portal.pcd.gl.PcdProxyContext.lookup(PcdProxyContext.java:909), com.sapportals.portal.pcd.gl.PcdGlContext.lookup(PcdGlContext.java:78), com.sapportals.portal.pcd.gl.PcdURLContext.lookup(PcdURLContext.java:238), javax.naming.InitialContext.lookup(InitialContext.java:347), javax.naming.InitialContext.lookup(InitialContext.java:347), com.documentum.ei.epiviews.relatedsearch.ListResultView.wdDoInit(ListResultView.java:194), com.documentum.ei.epiviews.relatedsearch.wdp.InternalListResultView.wdDoInit(InternalListResultView.java:205), com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doInit(DelegatingView.java:61), com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215), com.sap.tc.webdynpro.progmodel.view.View.initController(View.java:274), com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200), com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:540), com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:422), com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:130), com.sap.tc.webdynpro.progmodel.view.InterfaceView.initController(InterfaceView.java:41), com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200), com.sap.tc.webdynpro.clientserver.cal.ClientComponent.displayToplevelComponent(ClientComponent.java:134), com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:374), com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:593), com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59), com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:249), com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154), com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116), com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:48), javax.servlet.http.HttpServlet.service(HttpServlet.java:740), javax.servlet.http.HttpServlet.service(HttpServlet.java:853), com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385), com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263), com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340), com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318), com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821), com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239), com.sap.engine.services.httpserver.server.Client.handle(Client.java:92), com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147), com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37), com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71), com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37), java.security.AccessController.doPrivileged(Native Method), com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94), com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)]

Answers (0)