cancel
Showing results for 
Search instead for 
Did you mean: 

Data type restriction on context nodes attributes

Former Member
0 Kudos

Hi every body!

I'm facing a problem working with a context node in a component controller that have an atribute of type java.io.Serializable. Whenever I try to access this atribute a got a nullPointerException.

Is there any restriction on the data types that i can use for an attribute?

Regards

Jose Arango

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Jose,

Refer to the following threads which might help you.

Thanks n Regards,

Jhansi Miryala

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

try out the following code and let me know if you still get null pointer exception:

if(wdContext.nodeReqFind().size>0)

{

wdContext.currentReqFindElement().setId("<any string >");

}

regards,

amit bagati

Former Member
0 Kudos

Hi Amit:

Thanks for your response. What you are suggesting me would solve the problem and I won't get the nullPointerException, but how can I access this attribute? If whenever I try to access it I get the exception.

Regards

Jose Arango.

Former Member
0 Kudos

Hi jose

have you solved your issue??

in my case it works fine with your code. ie by accessing the element of node(cardinality 1,1) as wdContext.current<node_Name>Element().set<attribute_Name>(value);

also you can try it this way

wdContext.node<node_Name>.getElementAt(0).getAttributeValue('<attribute_Name>","value");

Deepak

nikhil_bose
Active Contributor
0 Kudos

Did you initialize that object?

nikhiL

Former Member
0 Kudos

Hi nikhiL:

Yes, I have initialized the object. This is my scenario.

In my controller context i have these nodes and both have 1..1 cardinality.

Find

-


id (String)

ReqFind

-


Response

-


Return (java.io.Serializable)

-


id (java.io.Serializable)

-


type (java.lang.Class)

The ReqFind node is bind to an EJB model.

In the wdDoInit i have the following code.

CrudModel modelo = new CrudModel();

ReqFind req = new ReqFind(modelo);

wdContext.nodeReqFind().addElement(req);

wdContext.currentFindElement().setId("HW300");

wdContext.currentReqFindElement().setId(wdContext.currentFindElement().getId());

And when execute the app I got a nullPointerException where I set the id attribute for the ReqFind node.

Former Member
0 Kudos

Hi Jose,

Comment code line wdContext.currentFindElement().setId("HW300");

and try

wdContext.currentReqFindElement().setId("HW300");

instead of

wdContext.currentReqFindElement().setId(wdContext.currentFindElement().getId());

Regards,

Gopal

Former Member
0 Kudos

Hi Gopal:

I've alredy done that and got the same exception.

Regards,

Jose.

Former Member
0 Kudos

Hi Jose,

Can you display whole stack trace here in this thread?

Regards,

Gopal

Former Member
0 Kudos

Hi Gopal:

This is the detail error information.

com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Exception was thrown in preprocessing phase of application session ApplicationSession(name=com.sap.demo.course.courseapp.CourseApp, id=508a4d601dda11ddcac50002554f6621). The causing exception is nested. RID=5080b0701dda11dda0b80002554f6621

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doPreprocessing(ClientSession.java:650)

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

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

at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.delegateToRequestManager(AbstractExecutionContextDispatcher.java:205)

at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.DispatchHandlerForRequestManager.doService(DispatchHandlerForRequestManager.java:38)

at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.AbstractDispatchHandler.service(AbstractDispatchHandler.java:116)

at com.sap.engine.services.servlets_jsp.server.deploy.impl.module.IRequestDispatcherImpl.dispatch(IRequestDispatcherImpl.java:93)

at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.ExecutionContextDispatcher.dispatchToRequestManager(ExecutionContextDispatcher.java:140)

at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:93)

at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:105)

at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doContent(AbstractDispatcherServlet.java:87)

at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doGet(AbstractDispatcherServlet.java:54)

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

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

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)

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

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

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

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

at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:309)

at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)

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

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

Caused by: java.lang.NullPointerException:

at com.sap.tc.cmiimpl.base.model.BaseGenericModelClass.setAttributeValue(BaseGenericModelClass.java:283)

at co.com.crystal.crudmodel.ReqFind.setId(ReqFind.java:53)

at com.sap.demo.course.courseview.wdp.IPublicCourseView$IReqFindElement.setId(IPublicCourseView.java:374)

at com.sap.demo.course.courseview.CourseView.wdDoInit(CourseView.java:121)

at com.sap.demo.course.courseview.wdp.InternalCourseView.wdDoInit(InternalCourseView.java:135)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:160)

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

at com.sap.tc.webdynpro.progmodel.components.Component.initController(Component.java:249)

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

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

at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doPreprocessing(ClientApplication.java:1228)

at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.delegateToApplicationDoPreprocessing(AbstractExecutionContextDispatcher.java:150)

at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.DispatchHandlerForAppPreprocessing.doService(DispatchHandlerForAppPreprocessing.java:35)

at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.AbstractDispatchHandler.service(AbstractDispatchHandler.java:116)

at com.sap.engine.services.servlets_jsp.server.deploy.impl.module.IRequestDispatcherImpl.dispatch(IRequestDispatcherImpl.java:93)

at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.ExecutionContextDispatcher.dispatchToApplicationDoPreprocessing(ExecutionContextDispatcher.java:100)

at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:75)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.dispatch(ApplicationSession.java:507)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.dispatch(ApplicationSession.java:527)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doPreprocessing(ApplicationSession.java:233)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doPreprocessing(ClientSession.java:647)

Former Member
0 Kudos

Hi Jose,

I am unable to give any further solution. Hope that after seeing the stack trace someone can give you some hint to solve your problem.

Regards,

Gopal

Former Member
0 Kudos

Hi Gopal:

Thanks for your effort, I hope that someone else can help me with this problem.

Regards,

Jose.