cancel
Showing results for 
Search instead for 
Did you mean: 

Exception in WebDynPro generated classes

Former Member
0 Kudos

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 ?

Accepted Solutions (1)

Accepted Solutions (1)

siddharth_jain
Active Contributor
0 Kudos

try this line of code for getting the company id value:

wdContext.node<NodeName>.currentFilterCompanyResultElement().getCompanyId();

Answers (6)

Answers (6)

Former Member
0 Kudos

I tried, but it is not working, Null Pointer Exception occured again.

Former Member
0 Kudos

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

Former Member
0 Kudos

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 ?

siddharth_jain
Active Contributor
0 Kudos

Hi,

Try to use manager.reportException method instead of manager.reportMessage

and remove the manager.raisePendingException line.

And see if it works.

Regards,

Siddharth

Former Member
0 Kudos

Hello,

I commented this line, but I received no data to display in web page using this way.

former_member192434
Active Contributor
0 Kudos

Hi Sergey,

Just visit this link

Thanks

Anup

Former Member
0 Kudos

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