Current Portal User in a Portal service
Hi,
I have created a Portal service which is exposed as a web service, serving to fetch current logged-in user in Portal.
This web service has been called from a BSP program that which is exposed on Portal as an iView.
The requirement is, when the user runs this BSP program from Portal, the program should call the Web Service and get the user who is currently using the page. This works fine except the Portal service always returns un:Guest user. I used below menthod to get the current logged in user:
public String getLoggedinUser()
IUser sapUser = UMFactory.getAuthenticator().getLoggedInUser();
String uID = sapUser.getUniqueID();
String[] users = uID.split("\\.");
return users[users.length - 1];
I checked for existing solutions in the forum but they work for a Portal component. How can I achieve the desired result using a Portal Service or otherwise ? Please help.
Thanks,
Aditya.
Hi Aditya,
Try below code -
String _pmfKey = null;
IPortalComponentRequest componentRequest =(IPortalComponentRequest) getRequest();
IUserFactory userFactory = UMFactory.getUserFactory();
IUser myUser =userFactory.getUser(componentRequest.getUser().getUniqueID());
_pmfKey = myUser.getName();
Regards,
Sen
Similar Messages
-
Get current user in portal service context
hi guys,
We want to implement a portal service which will check user's role from LDAP, and we need to get the current user id.
We know for class IPortalComponentRequest, there is method getUser().getUserId(), is there any similar method for IServiceContext? or any way for us to get user id in portal service?
regards,
Guo FengHi Feng,
Implement
public String getParameter(IPortalComponentRequest arg0, String arg1)
eg in your implementation class and add the following code.
IUserContext userContext = arg0.getUser();
String username = userContext.getLogonUid();
String full_name = userContext.getDisplayName();
HTH -
Hi all,
Can somemone tell me how to get the current portal request in the Repository Manager. Because I need to have the current portal User and for that I need the request object in the RM.
Plz. guide.
It's urgent.
Thanx in advance.Hi,
I think the solution could be:
IPortalComponentRequest request =(IPortalComponentRequest) this.getProxy().getDynamicPage().getPageContext().getRequest
IUserContext user = (IUserContext) request.getUser();
It works for me on the render() method of my layout controller.
I found the answer in this <a href="https://www.sdn.sap.com/irj/sdn/thread?messageID=549647#549647">thread</a>
regards
Anders -
Get current portal user password?
Is it possible to get the current portal user's password? If so, I need the pl/sql api to accomplish this.
Hi there,
I was looking for the same thing but as I understood it is saved in a HASH format and their is NO way to decrypt it.
The thing I do now is storing the password in a selfmade table besides the SSO tables for administrative use.
Greets
cumQuat
Dave Ruzius -
Connect the current portal session to another user
We have to do application management for portal users. Often it's necessary to have the same view as the customer. So administrators need a portlet for specifying the user credentials and connecting the current portal session to this user. It's not possible to ask every user for his password.Has anybody created such a portlet?Is it possible to do this? Can I use the EDK or do I need the plumtreeserver - DLL? Which class do I need? Thanks for any help
Thank you - It works! Now I have an IPTSession-Object for the given user. But how can I set this to the current portal instance? I get only new sessions but I didn't find any way to change the current session.
-
Access Portal Services within Web Dynpro
Hi,
I created a portal service and would like that some values of the same have to be set by a Web Dynpro application, but i have a problem to access this
service. Always that a i try to get a reference of this service the object isn't instantiated and i get a null instantiated.
What i`m trying to do is the broadcast message described in [/people/prakash.singh4/blog/2005/04/28/brodcast-messages-to-logged-on-users-in-portalpart1 |/people/prakash.singh4/blog/2005/04/28/brodcast-messages-to-logged-on-users-in-portalpart1]with a variation that need of some
more Attributes and that the same will be pass by the Web Dynpro, like the broadcast message i`ll just use the alert concept and don't the publication.
Follow below the describe of executed actions.
1 - I did all the process as the [Weblog|/people/prakash.singh4/blog/2005/04/28/brodcast-messages-to-logged-on-users-in-portalpart1].
2 - I generated the Jar and insert the same in a DC.
3 - I generated the Web Dynpro application, in the used DCs and added the DC with the Jar, and i inserted the reference in a Sharing References.
4 - Did the deploy and insert the Web Dynpro in a Portal Iview.
But always that i execute, i can't capture the reference of the service.
Note: The reference in Sharing References was executed for several diferents forms of test, like for exemple:
PORTAL:<vendor>/com.teste.broadcast
PORTAL:com.teste.broadcast
PORTAL:<vendor>/com.teste.broadcast.alertreceiver
PORTAL:com.teste.broadcast.alertreceiver
But always adding one at a time.
Until put the saller like sap.com i already try.
The creation of the service as described in the weblog can be accessed for a Web Dynpro? What the problem to access the Service??
The codes follow Bellow.
portalapp.xml
<?xml version="1.0" encoding="UTF-8"?>
<application>
<application-config>
<property name="PrivateSharingReference" value="com.sap.portal.htmlb,com.sap.portal.runtime.system.notification"/>
<property name="ServicesReference" value="com.teste.broadcast"/>
</application-config>
<services>
<service name="alertreceiver">
<service-config>
<property name="className" value="com.teste.broadcast.alertreceiver"/>
</service-config>
</service>
</services>
</application>
BroadcastAppView.java
import com.sap.security.api.IUser;
import com.sap.tc.webdynpro.clientserver.portal.WDPortalUtils;
import com.sap.tc.webdynpro.clientserver.portal.sf.WDPortalServiceType;
import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
import com.sap.tc.webdynpro.services.sal.um.api.IWDClientUser;
import com.sap.tc.webdynpro.services.sal.um.api.WDClientUser;
import com.sapportals.portal.prt.service.notification.INotificationService;
import com.sapportals.portal.prt.service.notification.NotificationStringBufferPool;
import com.sapportals.portal.prt.service.notification.StreamData;
import com.sapportals.portal.prt.service.notification.TopicData;
import com.sapportals.portal.prt.service.notification.TopicDataContainer;
import com.teste.broadcast.Ialertreceiver;
public void onActionSendMessage(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionSendMessage(ServerEvent)
IWDMessageManager msgManager = wdComponentAPI.getMessageManager();
INotificationService notService = null;
try {
notService = (INotificationService)
WDPortalUtils.getServiceReference("com.teste.broadcast");
//notService = (INotificationService)
// WDPortalUtils.getServiceReference("com.teste.broadcast.alertreceiver");
//notService = (INotificationService)
// WDPortalUtils.getServiceReference(IAlertreceiver.KEY);
} catch (Exception ex) {
msgManager.reportWarning("2-" + ex.getMessage());
TopicDataContainer container = new TopicDataContainer(TOPIC_NAME);
StreamData messageStream = new StreamData(new ByteArrayInputStream(textMessage.getBytes()));
TopicData durationdata =
new TopicData(TopicDataContainer.STRING, "60");
TopicData userdata =
new TopicData(TopicDataContainer.STRING, user.getUniqueName());
container.addTopicData("message", messageStream);
container.addTopicData("duration", durationdata);
container.addTopicData("user", userdata);
container.addTopicData("group", "GROUP_ACCESS");
//notService.publish(TOPIC_NAME, container);
msgManager.reportWarning("-" + notService);
//@@end
* The following code section can be used for any Java code that is
* not to be visible to other controllers/views or that contains constructs
* currently not supported directly by Web Dynpro (such as inner classes or
* member variables etc.). </p>
* Note: The content of this section is in no way managed/controlled
* by the Web Dynpro Designtime or the Web Dynpro Runtime.
//@@begin others
private final static String SERVICE_NOTIFICATION = "com.sap.portal.runtime.system.notification.notification";
private final static String TOPIC_NAME = "USTBroadCastAlerts";
//@@end
Thank.
Luciano Feletti AponteHi Luciano,
Take a look at for your answer:
/thread/833576
Regards,
Rogério -
Custom portal service not running ni NW 04
Hello!
We are about to migrate from EP6 SP2 to NW04 and I'm currently testing the results of the first test run.
One special problem I encountered is one of my custom portal services no longer running. It did without flaws back in EP6, so something seems to have changed.
My Service interface:
[code]
package com.rag.ekportal.bginfocenter.kmservice;
@author Juergen Wahlmann
public interface IBGFetcher extends IService {
[/code]
And the implementation:
[code]
package com.rag.ekportal.bginfocenter.kmservice;
public class BGFetcher implements IBGFetcher, Runnable {
[/code]
portalapp.xml
[code]
<?xml version="1.0" encoding="UTF-8"?>
<application>
<application-config>
</application-config>
<components>
<component name="BGViewer">
<component-config>
<property name="ClassName" value="com.rag.ekportal.bginfocenter.bgview.control.BGViewer">
</property>
<property name="SecurityZone" value="sbi-ruhr.de/ekportal/medium_safety/com.rag.ekportal/components/bgviewer">
</property>
<property name="ResourceBundleName" value="bginfocenter">
</property>
<property name="ServicesReference" value="usermanagement,knowledgemanagement,com.rag.ekportal.bginfocenter.kmservice.BGFetcher,com.sap.portal.ivs.connectorservice,landscape">
</property>
</component-config>
<component-profile>
<property name="tagLib" value="/SERVICE/htmlb/taglib/htmlb.tld">
<property name="personalization" value="none">
</property>
</property>
<property name="templatesfolderName" value="Vorlagen">
</property>
<property name="guidelinesfolderName" value="Richtlinien">
</property>
<property name="bgContactsfolderName" value="BG-Ansprechpartner">
</property>
<property name="ksb2folderName" value="KSB 2">
</property>
<property name="bgControllingfolderName" value="BG-Controlling">
</property>
<property name="rvURL" value="/irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2fcom.fo.admin!2fcom.admin.fo.iview!2fcom.admin.iview.fo.ri!2fcom.admin.iview.ri.fo.rag!2fcom.admin.iview.ri.rag.iv.begis_0_0?numberBG=">
</property>
<property name="KmServiceUser" value="KM Service User">
</property>
<property name="systemAlias" value="BeGIS_RV_DB">
<property name="personalization" value="admin"/>
<property name="plainDescription" value="JDBC System object for DB access"/>
</property>
<property name="table" value="janus_contract_bg_v">
<property name="personalization" value="admin"/>
<property name="plainDescription" value="Database View for reading contracts"/>
</property>
<property name="table1" value="user_roles_v">
<property name="personalization" value="admin"/>
<property name="plainDescription" value="Database Table for checking user role in RV DB"/>
</property>
</component-profile>
</component>
</components>
<services>
<service name="BGFetcher">
<service-config>
<property name="className" value="com.rag.ekportal.bginfocenter.kmservice.BGFetcher">
</property>
<property name="startup" value="true">
</property>
<property name="SecurityZone" value="sbi-ruhr.de/ekportal/medium_safety/com.rag.ekportal/services/bgfetcher">
</property>
</service-config>
<service-profile>
<property name="interval" value="300000">
</property>
<property name="enable" value="false">
<property name="type" value="boolean">
</property>
</property>
<property name="numberofruns" value="1">
</property>
<property name="repository" value="/rag_bgm_test/Beschaffungsgruppen">
</property>
<property name="KmServiceUser" value="KM Service User">
</property>
<property name="dbServer" value="xxx">
</property>
<property name="dbUser" value="xxx">
</property>
<property name="dbPassword" value="xxx">
</property>
<property name="dbName" value="xxx">
</property>
<property name="workfolderName" value="Arbeitsordner">
</property>
<property name="teamfolderName" value="Teamordner">
</property>
<property name="contactfolderName" value="Ansprechpartner">
</property>
<property name="publicfolderName" value="u00D6ffentlicher Ordner">
</property>
<property name="deletedfolderName" value="/rag_bgm_test/Gelu00F6scht/">
</property>
</service-profile>
</service>
</services>
</application>
[/code]
The service didn't work after the migration, so I tried to deploy it again. This is the result:
[code]
Date : 01/12/2006
Time : 13:31:37:880
Message : [PortalServiceItem.startServices] service initialisation failed:com.rag.ekportal.bginfocenter.kmservice|BGFetcher
[EXCEPTION]
java.lang.NoClassDefFoundError: com/sapportals/wcm/repository/ResourceException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at com.sapportals.portal.prt.core.broker.PortalServiceItem.__createServiceInstance(PortalServiceItem.java:727)
at com.sapportals.portal.prt.core.broker.PortalServiceItem.createServiceInstance(PortalServiceItem.java:613)
at com.sapportals.portal.prt.core.broker.PortalServiceItem.startServices(PortalServiceItem.java:1042)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.startLoadOnStartupServices(PortalAppBroker.java:1563)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.start(PortalAppBroker.java:1518)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.restartQueuedApplication(PortalAppBroker.java:1866)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.updateApplications(PortalAppBroker.java:1702)
at com.sapportals.portal.prt.deployment.DeploymentManager.updateApplications(DeploymentManager.java:1754)
at com.sap.ip.portal.admin.portalanywhere.QueryHandler.handleTopic(QueryHandler.java:152)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.executeActionHandleTopic(NotificationSAPJ2EE630.java:1141)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.notifyActionSubscribers(NotificationSAPJ2EE630.java:1089)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.receiveWait(NotificationSAPJ2EE630.java:386)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.broadcastAndWait(NotificationSAPJ2EE630.java:553)
at com.sapportals.portal.prt.service.notification.NotificationServiceDispatcher.broadcastAndWait(NotificationServiceDispatcher.java:192)
at com.sap.ip.portal.admin.portalanywhere.EventForwarder.sendQueryAndGetResults(EventForwarder.java:122)
at com.sap.ip.portal.admin.portalanywhere.EventForwarder.sendQueryToAllServers(EventForwarder.java:144)
at com.sap.ip.portal.admin.portalanywhere.EventForwarder.forwardEventToAllServers(EventForwarder.java:135)
at com.sap.ip.portal.admin.portalanywhere.ArchiveUploader.forwardUpdateToAllServers(ArchiveUploader.java:253)
at com.sap.ip.portal.admin.portalanywhere.ArchiveUploader.doContent(ArchiveUploader.java:235)
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:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160)
Severity : Error
Category : /System/Server
Location : com.sap.portal.prt.runtime.broker
Application : sap.com/irj
Thread : SAPEngine_Application_Thread[impl:3]_15
Datasource : 2390950:E:\usr\sap\PMT\JC00\j2ee\cluster\server0\log\defaultTrace.trc
Message ID : 000C29A5B62A00400000001300000A4000040A2887A939D9
Source Name : com.sap.portal.prt.runtime.broker
Argument Objs : java.lang.NoClassDefFoundError: com/sapportals/wcm/repository/ResourceException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at com.sapportals.portal.prt.core.broker.PortalServiceItem.__createServiceInstance(PortalServiceItem.java:727)
at com.sapportals.portal.prt.core.broker.PortalServiceItem.createServiceInstance(PortalServiceItem.java:613)
at com.sapportals.portal.prt.core.broker.PortalServiceItem.startServices(PortalServiceItem.java:1042)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.startLoadOnStartupServices(PortalAppBroker.java:1563)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.start(PortalAppBroker.java:1518)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.restartQueuedApplication(PortalAppBroker.java:1866)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.updateApplications(PortalAppBroker.java:1702)
at com.sapportals.portal.prt.deployment.DeploymentManager.updateApplications(DeploymentManager.java:1754)
at com.sap.ip.portal.admin.portalanywhere.QueryHandler.handleTopic(QueryHandler.java:152)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.executeActionHandleTopic(NotificationSAPJ2EE630.java:1141)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.notifyActionSubscribers(NotificationSAPJ2EE630.java:1089)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.receiveWait(NotificationSAPJ2EE630.java:386)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.broadcastAndWait(NotificationSAPJ2EE630.java:553)
at com.sapportals.portal.prt.service.notification.NotificationServiceDispatcher.broadcastAndWait(NotificationServiceDispatcher.java:192)
at com.sap.ip.portal.admin.portalanywhere.EventForwarder.sendQueryAndGetResults(EventForwarder.java:122)
at com.sap.ip.portal.admin.portalanywhere.EventForwarder.sendQueryToAllServers(EventForwarder.java:144)
at com.sap.ip.portal.admin.portalanywhere.EventForwarder.forwardEventToAllServers(EventForwarder.java:135)
at com.sap.ip.portal.admin.portalanywhere.ArchiveUploader.forwardUpdateToAllServers(ArchiveUploader.java:253)
at com.sap.ip.portal.admin.portalanywhere.ArchiveUploader.doContent(ArchiveUploader.java:235)
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:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160)
Arguments : java.lang.NoClassDefFoundError: com/sapportals/wcm/repository/ResourceException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at com.sapportals.portal.prt.core.broker.PortalServiceItem.__createServiceInstance(PortalServiceItem.java:727)
at com.sapportals.portal.prt.core.broker.PortalServiceItem.createServiceInstance(PortalServiceItem.java:613)
at com.sapportals.portal.prt.core.broker.PortalServiceItem.startServices(PortalServiceItem.java:1042)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.startLoadOnStartupServices(PortalAppBroker.java:1563)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.start(PortalAppBroker.java:1518)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.restartQueuedApplication(PortalAppBroker.java:1866)
at com.sapportals.portal.prt.core.broker.PortalAppBroker.updateApplications(PortalAppBroker.java:1702)
at com.sapportals.portal.prt.deployment.DeploymentManager.updateApplications(DeploymentManager.java:1754)
at com.sap.ip.portal.admin.portalanywhere.QueryHandler.handleTopic(QueryHandler.java:152)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.executeActionHandleTopic(NotificationSAPJ2EE630.java:1141)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.notifyActionSubscribers(NotificationSAPJ2EE630.java:1089)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.receiveWait(NotificationSAPJ2EE630.java:386)
at com.sapportals.portal.prt.service.notification.impl.NotificationSAPJ2EE630.broadcastAndWait(NotificationSAPJ2EE630.java:553)
at com.sapportals.portal.prt.service.notification.NotificationServiceDispatcher.broadcastAndWait(NotificationServiceDispatcher.java:192)
at com.sap.ip.portal.admin.portalanywhere.EventForwarder.sendQueryAndGetResults(EventForwarder.java:122)
at com.sap.ip.portal.admin.portalanywhere.EventForwarder.sendQueryToAllServers(EventForwarder.java:144)
at com.sap.ip.portal.admin.portalanywhere.EventForwarder.forwardEventToAllServers(EventForwarder.java:135)
at com.sap.ip.portal.admin.portalanywhere.ArchiveUploader.forwardUpdateToAllServers(ArchiveUploader.java:253)
at com.sap.ip.portal.admin.portalanywhere.ArchiveUploader.doContent(ArchiveUploader.java:235)
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:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160)
Dsr Component :
Dsr Transaction : 5f940fe0836711da887d000c29a5b62a
Dsr User :
Indent : 0
Level : 0
Message Code :
Message Type : 1
Relatives : /System/Server
Resource Bundlename :
Session : 2391
Source : com.sap.portal.prt.runtime.broker
ThreadObject : SAPEngine_Application_Thread[impl:3]_15
Transaction :
User : xxx
[/code]
Looks like something is wrong in the service definition (portalapp.xml) but I have no clue. Class names are spelled right, settings the same as in EP6 SP2, yet the portal engine is not able to find the implementation class of the service.
Any ideas?
Cheers,
JuergenHi Detlev!
The ServiceReference definition previously was located in the application config under SP2, but didn't work either.
Now I found the solution. A sharing reference of all non-custom services in the application config and an additional sharing reference to my custom service in the portal application's config like this:
<application-config>
<property name="SharingReference" value="usermanagement,knowledgemanagement,com.sap.portal.ivs.connectorservice,landscape">
</property>
</application-config>
<components>
<component name="BGViewer">
<component-config>
<property name="ClassName" value="com.rag.ekportal.bginfocenter.bgview.control.BGViewer">
</property>
<property name="SecurityZone" value="sbi-ruhr.de/ekportal/medium_safety/com.rag.ekportal/components/bgviewer">
</property>
<property name="ResourceBundleName" value="bginfocenter">
</property>
<property name="SharingReference" value="com.rag.ekportal.bginfocenter.KMService.BGFetcher">
</property>
</component-config>
Case closed, thx for you hint. I awarded points.
Cheers,
Jürgen
Message was edited by: Juergen Wahlmann, solution included -
Need info on Accessing portal services within a Web Dynpro application
Hi,
I need information on Accessing portal services within a Web Dynpro application.I want to explore this topic.Can anyone give useful links?
Thanks in advance.
Rajani NHi
how to reference a portal service with web dyn pro ?
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/ep/how%20to/how%20to%20access%20a%20portal%20service%20within%20a%20web%20dynpro%20java%20application.pdf
http://help.sap.com/javadocs/NW04S/current/wd/com/sap/tc/webdynpro/clientserver/portal/WDPortalUtils.html
Best Regards
Jakub Krecicki -
SAP Portal - Service Timeout after 30min from ERP Backend
Hello SCN Members,
actually i have a problem with our Enterprise Portal. We have some Employee Self Services running in SAP Portal with connection to a SAP ERP ABAP Backend. After 30 minutes of inactivity, the User click to a Service, he became a http/500, connection timeout.
i found the errormessage in SM21 in ABAP Backend "HTTP/RFC-Session wurde nach Timeout gelöscht" (HTTP Session deleted after timeout)
at the ABAP Backend i set the ICF Parameters to and restart the whole system (QS):
icm/server_port[0] = PROT=HTTP, PORT=8080,TIMEOUT=28800
icm/server_port[1] = PROT=SMTP, PORT=8025
icm/server_port[2] = PROT=HTTPS,PORT=8083,TIMEOUT=28800
rdisp/plugin_auto_logout = 28800
But the error occurs after 30min, now i have no more idea, which parameters i need to change.
Can you help me?
best regards,
StefanHi Lawrence,
thank's for your answer, at the webdispatcher are the settings as follow, but there is still a timeout after 1800 seconds of inactivity
rdisp/plugin_auto_logout = 0
and
icm/server_port_0
PROT=HTTP,HOST=sapwddev01,PORT=80,TIMEOUT=-1,PROCTIMEOUT=-1
icm/server_port_1
PROT=HTTPS,HOST=sapwddev01,PORT=443,TIMEOUT=-1,PROCTIMEOUT=-1 -
Hi All,
i am trying to connect Crystal report through portal service.
but getting following error,
Portal Runtime Error
An exception occurred while processing a request for :
iView : pcd:portal_content/com.xyz.fol.fxyzcrystalreports/com.xyz.rol.rcrystalreports/crystal_iview_COPY_0_0
Component Name : com.sap.portal.appintegrator.sap.CrystalReport
Exception in SAP Application Integrator occured: Unable to process template 'apsuser=<MappedUser>&apspassword=<MappedPassword>&apsauthtype=Enterprise&sf=<supplierid>', because 'supplierid' is an invalid terminal property of the Root context..
Exception id: 02:51_09/08/07_0062_306388250
See the details for the exception ID in the log file
what may be the reason, any solutions?
Thanks in advance
Regards,
MuraliHi,
Please check if you have made a copy of the Crystal report Iview using plain copy method. If so use Delta copy...
Also please check again if the system connection tests and user is valid and working.
Regards,
Rohan
*reward points if useful -
Urgent- Issues in Creation of Web Service extending Portal Service
Hi Experts,
I am facing following issues,
1.I've created Portal Service and extended it as Web Service, this web service I am not able to view in Webservice Navigator.
2.When I am trying to send request to WS from EP Web Service checker in NWDS I am getting an error that "The User Authentification is not correct to access to the Portal Service com.sap.portal.prt.soap.PortalUMEService or the service was not found"
Any Help from you is highly appreciated.
Regards,
Maruti Prasadhi Marti ,
I have few pdf Reg this i did sample WSDl and tested its workingf fine
plese send me e mail i will send you
Regards ,
venkat -
Exposing Portal Services as Web Services
Hello Portal experts,
I a newby in Portal development and I'm currently trying to write a service portal wich I want to expose as a Web Service.
I found a [documentation|http://help.sap.com/saphelp_nw04/helpdata/en/43/cb213e578c0262e10000000a11466f/content.htm] wich enabled me to create a portal service and a web service (it simply contains a ping method) into a development component as indicated.
But when I'm trying to build the Project, no SDA file is generated and no error messages are displayed !?
Does someone have any clue?
Thank you
DominiqueHIIII...
Use this link ..
it will be usefull 4 u.
[http://help.sap.com/saphelp_nw2004s/helpdata/en/df/e6b74253ffda11e10000000a155106/frameset.htm]
thanks..
Regards
Mayank Saxena -
Hi,
Am trying to use a portal service in my application and calling a method,it should return me the IResourceList which am going
to iterate and publish the Resource.
Interestingly,am getting the error "Build of the project Failed" Pls Note am working on JDI or NWDI & no compilation errors
at my end.
Please find the Code below :
user =(IUser) UMFactory.getUserFactory().getUserByLogonID(request.getUser().getLogonUid());
IPortalRuntimeResources runtimeResources =PortalRuntime.getRuntimeResources();
IService aService = runtimeResources.getService("customer.MyService");
customer.MyService tmp = (customer.MyService) aService;
IResourceList list=(IResourceList)Util.getMethod(filterbasepath,arraylist,user);
Any help in this direction would be highly appreciated,kindly be specific as where have i gone wrong.
Regards
ManojHi Harish,
1.Other components in the par file do not have classes with syntax error.
2.deployement descriptor has correct syntax.
3.deployement descriptor has services reference to the Portal Service am using.
if i comment some part of the code say
user =(IUser) UMFactory.getUserFactory().getUserByLogonID(request.getUser().getLogonUid());
IPortalRuntimeResources runtimeResources =PortalRuntime.getRuntimeResources();
//IService aService = runtimeResources.getService("customer.MyService");
//customer.MyService tmp = (customer.MyService) aService;
//IResourceList list=(IResourceList)Util.getMethod(filterbasepath,arraylist,user);
i can upload the par file,that clearly indicates that
theres some problem in using the service "customer.MyService",though there are no compilation errors.
I have even tried the alternative
IService aService = runtimeResources.getService("IMyService.KEY");--->where IMyservice is the Interface Class.
Regards
Manoj -
Which SharingReference I need to add at a portal service for these packages
Hello,
I have written a portal service, not at the Dynpro, environment which uses these imports:
com.sap.tc.webdynpro.progmodel.api.IWDNode;
com.sap.tc.webdynpro.progmodel.api.IWDNodeElement;
com.sap.tc.webdynpro.services.sal.url.api.IWDCachedWebResource;
com.sap.tc.webdynpro.services.sal.url.api.WDURLException;
com.sap.tc.webdynpro.services.sal.url.api.WDWebResource;
com.sap.tc.webdynpro.services.sal.url.api.WDWebResourceType;
Which SharingReference do I need to add in order for this to be recognized from the service?Hello Valery and Maksim,
I am familiar with this post yet I have two problems that it doesn't solve:
1. The reason we are not migrating from Local Dynpro projects to DCs is because of language issues currently handled by SAP. Our GUI is written in Hebrew and at the migration process all the text appearing on the GUI simply vanishes. So, at the moment let's assume we are working with Local Dynpro projects and not DCs.
2. The second problem we are facing involves from the first one: Since we are not working with DCs yet and since SAP doesn't support local Dynpro projects at the DTR, CBS, CMS even if I will develop such DC it will stay locally and I will be able to use it only from projects at my workspace, other developers won't be able to share it.
So, at the moment, even if creating a portal service is not the best solution it is the only temporary solution I see right now, unless you have other suggestions... -
Single file custom logging for portal service in 7.31
Hello Experts,
I have a portal service.
The service writes sensitive data to the DB and therefore I need tracing mechanism.
Until now I've used a custom txt file but now I want to use the SAP J2EE logging infrastructure (for performance, identifying user sessions etc...)
Since the severity of the messages will be set to 'info' I don't want to write the log entries to 'defaultTrace.trc', I want to write it to a custom file.
I'm aware of 'ForceSingleTraceFile' parameter but where can I set the logging properties? (in older portals I could use logger.xml in my portal component project and set a custom log file but as far as I understand 'logger.xml' is not supported anymore and its parameters are ignored).
Where can I find the documentation for setting logging properties for portal service in 7.31?
J2EE/Portal version is 7.31 SP7.
Regards,
Omrihi omri,
please have a look at this documentation (SpecificDestinationLogControllers - http://help.sap.com/saphelp_nw73ehp1/helpdata/de/2b/09343e32ff1033e10000000a114084/frameset.htm)
regards,
christian
Maybe you are looking for
-
27" display and late '09 MBP 13" - Display software update **doesn't work**
Hello All, My shiny new 27" LED cinema display arrived today. The display is stunning, but when I downloaded and installed the "LED Cinema Display Software Update 1.0" (http://support.apple.com/kb/DL1107) on my mid-'09 MBP 13" it doesn't work!! The i
-
WaveBurner does't burn CD (Invalid field in CDB)
WaveBurner does't burn CD (Invalid field in CDB)
-
PO-Material group change,
Hi All, Client wants to change the "material group" can i do the mass change in MM17 or does it impact on any of the Open PO's , if its impact how can i change the material group?What are all the possilbe area can be disturbed?
-
What does the 'other' mean in iTunes?
I have a 16GB iPhone 4S and the 'other' takes up 7GB of my data, how can I get rid of it?!
-
Hi, I would like to be able to record a vocal quartet using four mics recording simultaneously to four independant GB tracks. Apart from four microphones what else will I need i.e.interface/mixer with an early G5 iMac and can anyone make recommendati