cancel
Showing results for 
Search instead for 
Did you mean: 

Why am I getting a "java.lang.NullPointerException" ?

Former Member
0 Kudos

Hello All,

Below is an attempt to print out the contents of a context attribute that I have created.

wdContext.nodeToApprover().currentToApproverElement().setCostcenterOwnername("Test Name");

String name = wdContext.nodeToApprover().currentToApproverElement().getCostcenterOwnername();

wdComponentAPI.getMessageManager().reportSuccess("Interface controller = " + name);

However upon execution, I am always getting this NUllPointerException. Can someone kinly point ot where I may have gone wrong ?

from

Kwok Wei

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

Try to use the following.

wdContext.nodeToApprover().get<nodename>elementat(index).setCostcenterOwnername("Test Name");

String name = wdContext.nodeToApprover().get<nodename>elementat(index).getCostcenterOwnername();

wdComponentAPI.getMessageManager().reportSuccess("Interface controller = " + name);

Kishore

Answers (2)

Answers (2)

Former Member
0 Kudos

Please post the complete stack trace and check the content and lead selection of the context node.

Armin

Former Member
0 Kudos

Hi Armin,

Below is the stack trace as requested. Just some more info background for you, what I did was

<b>interface controller (FuncApproverCompInterface) (mapped)> Component controller (Another component)</b>

The idea is to get some values that was initialised in the component controller and have that passed over to the interface controller (that belongs to another component).

I have ensured that there is value in the component controller by printing out the values in the message manager. However, when I attempted to do the same thing in the receiving end of the interface controller, it fails and returns that error message.

==========================================================

Error stacktrace:

java.lang.NullPointerException

at com.sap.project.xbtr.funcapprover.FuncApproverCompInterface.wdDoInit(FuncApproverCompInterface.java:97)

at com.sap.project.xbtr.funcapprover.wdp.InternalFuncApproverCompInterface.wdDoInit(InternalFuncApproverCompInterface.java:135)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingCustomController.doInit(DelegatingCustomController.java:73)

at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)

at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)

at com.sap.tc.webdynpro.progmodel.controller.Component.getCustomControllerInternal(Component.java:436)

at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:374)

at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:403)

at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:138)

at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:746)

at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:761)

at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:40)

at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:346)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:854)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:157)

at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponentInternal(ComponentUsage.java:143)

at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponent(ComponentUsage.java:110)

at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createInstanceIfDemanded(ComponentUsage.java:699)

at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getImplementingInterfaceViewInfo(ComponentUsage.java:397)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.getViewManagerFor(ClientComponent.java:294)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.createUninitializedView(ViewManager.java:458)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:524)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.bind(ViewManager.java:398)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:555)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:422)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:130)

at com.sap.tc.webdynpro.progmodel.view.InterfaceView.initController(InterfaceView.java:41)

at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.displayToplevelComponent(ClientComponent.java:134)

at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:373)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:608)

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

at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:252)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)

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

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:48)

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

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

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

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

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

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

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

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

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

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

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

from

Kwok Wei

Former Member
0 Kudos

Hi,

The problem could be "No data" in the node "ToApprover".

Please check the cardinality. If its 0..n then makesure that you are creating an element of the nodetype .

Regards, Anilkumar

Former Member
0 Kudos

Hi Anilkumar,

I have already confrmed that there is data in the node by printing out the value of the attribtes in the modes

from

Kwok Wei