on 10-09-2008 4:26 PM
Hello, could anybody help to solve problem with exception during execution of WebDynPro Application
com.sap.tc.webdynpro.progmodel.controller.MessageManager$AbortMessageManagerException:
at com.sap.tc.webdynpro.progmodel.controller.MessageManager.raisePendingException(MessageManager.java:404)
at com.accenture.mdp.company.components.CompanyDataEntry.onPlugfromCompanyView(CompanyDataEntry.java:3315)
at com.accenture.mdp.company.components.wdp.InternalCompanyDataEntry.wdInvokeEventHandler(InternalCompanyDataEntry.java:987)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.navigate(ClientApplication.java:857)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:359)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:659)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251)
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.doPost(DispatcherServlet.java:55)
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)
Problem occured in this method in line with wdThis.wdGetContext();
In my opinion this is automatically generated file by Developer Studio.
public void onPlugfromCompanyView(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
{
//@@begin onPlugfromCompanyView(ServerEvent)
IWDMessageManager manager = wdComponentAPI.getMessageManager();
IContextNode contextNode = wdThis.wdGetContext(); // Problem is here - because this method returns null
if(contextNode!=null)
{
IFilterCompanyResultElement filterCompanyResultElement = contextNode.currentFilterCompanyResultElement();
if(filterCompanyResultElement!=null)
{
String compID = filterCompanyResultElement.getCompanyId();
if (compID != null)
{
wdThis.getValues();
wdThis.setValues();
}
}
else
{
manager.reportMessage(IMessageCompany.SELECT__RECORD, null, false);
manager.raisePendingException();
}
}
wdContext.currentContextElement().setInitFiedlsDisabled(false);
wdContext.currentContextElement().setFieldsEnable(false);
wdContext.currentContextElement().setIsModify(false);
setAccessToFields();
//@@end
}
Has anybody idea how to solve the problem problem ?
try this line of code for getting the company id value:
wdContext.node<NodeName>.currentFilterCompanyResultElement().getCompanyId();
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I tried, but it is not working, Null Pointer Exception occured again.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
This indicates that your error is for sure because of raisePendingException().
You are not getting anything to display on your page has nothing to do with the raisePendingException() line of code. Your method which populates data might have some problem. We need to troubleshoot that.
Regards,
Murtuza
This code generated automatically by web dyn pro and I don't want use any dirty tricks like that.
I commented that line, ok exception disappeared but program doesn't work, because If I received null in line
IContextNode contextNode = wdThis.wdGetContext();
then I have'nt data to use it in application and I see datagrid filled by nothing, without any exceptions.
So my question is how to repear this problem, where in WebDynPro I have to look for the reason of problem ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Try to use manager.reportException method instead of manager.reportMessage
and remove the manager.raisePendingException line.
And see if it works.
Regards,
Siddharth
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
I commented this line, but I received no data to display in web page using this way.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
You said that it gives error on the following line:
IContextNode contextNode = wdThis.wdGetContext(); // Problem is here - because this method returns null
but the stacktrace says it has something to do with the messageManager. Please, try commenting the line
manager.raisePendingException();
and try to re-deploy and execute the applicaiton.
Regards,
Murtuza
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
91 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.