cancel
Showing results for 
Search instead for 
Did you mean: 

forceLogoffClientUser causes a NullPointerException in PageBuilder.java:893

Former Member
0 Kudos

Hello,

this code cause a NullPointerException.

The url I get with

final String url =WDURLGenerator.getApplicationURL( wdComponentAPI.getApplication().getDeployableObjectPart(),
					Collections.singletonMap("sap-locale", dataObject));
WDClientUser.forceLogoffClientUser(url);

the dataObject contains the language String e.g. "en" , "de" etc.

I will use this to switch the language of the Web Dynpro, if the user switches the potal language.

The following Exceptions is caused

java.lang.NullPointerException

at com.sap.portal.pb.PageBuilder.updatePortalHooks(PageBuilder.java:893)

at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:325)

at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:830)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:759)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:712)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)

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:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

kind regards

Gunter

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

I want logoff from the portal and redirect to the logon page.

I've tried with another URL and result is the following: If application runs on the WAS without Portal all works fine.

But when I raise this application through an portal iview, it doesn't work and displays the nullPointer exception commented above.

snehal_kendre
Active Contributor
0 Kudos

Hi Gunter,

Null pionter exception is not related to forcelogoff.. It seems that it is related to set url method.

please check Collections.singletonMap("sap-locale", dataObject));

exctly what you want to do..you just want to logoff from application or at same time you want to move other url too?

just try

WDClientUser.forceLogoffClientUser("http://www.sdn.sap.com"); //or any as you want. It will surely work. so check

what your fetching from your src folder is there or not,.

Former Member
0 Kudos

Hello,

I have the same problem now when I try to force portal logoff from WD.

Could you tell me if you solved this problem or how can I fix that, please?

            • CODE ********************************

String hostName = WDProtocolAdapter.getProtocolAdapter().getRequestObject().getServerName();

int port = WDProtocolAdapter.getProtocolAdapter().getRequestObject().getServerPort();

StringBuffer url = new StringBuffer("http://");

url.append( hostName );

url.append(":");

url.append(port);

WDClientUser.forceLogoffClientUser(url.toString());

                • ERROR ***************************

java.lang.NullPointerException

at com.sap.portal.pb.PageBuilder.updatePortalHooks(PageBuilder.java:931)

at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:327)

at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:868)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)

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

Regards,

Sonia

Former Member
0 Kudos

Hi ss_user ss_user,

i found an answer.

look at this.

String urlredirect = wdContext.currentContextElement().getRedirectURL();
          if (WDPortalUtils.isRunningInPortal()){
         WDClientUser.forceLogoffClientUser(urlredirect); 
         }else{
 wdThis.wd<Compname>WindowInterfaceViewController().wdFirePlugPlugExit(urlredirect);
}

First check if your application is running in the portal!

Than you can make a forceLogoffClientUse if not fire a ExitPlug

regards

Gunter