cancel
Showing results for 
Search instead for 
Did you mean: 

Web Dynpro Java Error...need help bad;y

Former Member
0 Kudos

I have a Web Dynpro application that has worked in the past, but once I deployed it to another server I am getting a java.lang.NullPointerException. I tried to post the whole error here but it would not let me. If there is another way to put the screen shot here please let me know.

Thanks

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Here is the error we are getting!

Error stacktrace:

java.lang.NullPointerException

at com.sap.tc.webdynpro.modelimpl.dynamicrfc.AiiModelClass.createNewBaseTypeDescriptor(AiiModelClass.java:220)

at com.sap.tc.webdynpro.modelimpl.dynamicrfc.AiiModelClass.descriptor(AiiModelClass.java:186)

at com.igt.mammodels.stocklevel.Zmard_Generic_Read_Matnr_Plant_Input.<init>(Zmard_Generic_Read_Matnr_Plant_Input.java:51)

at com.igt.mam.Getlist.execSearchStock(Getlist.java:183)

at com.igt.mam.wdp.InternalGetlist.execSearchStock(InternalGetlist.java:296)

at com.igt.mam.Getlistview.onActionSearch(Getlistview.java:319)

at com.igt.mam.wdp.InternalGetlistview.wdInvokeEventHandler(InternalGetlistview.java:370)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)

at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304)

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

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

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

It appears that it cannot make a connection to the backend. You mentioned that you have deployed to another server, you must make sure that you setup the jCo connections for this web dynpro application on this other server. Have you done so?

Regards,

Rich Heilman

Former Member
0 Kudos

We have set up the JCO connections on the server we deployed the application to, but pointing to a different backend system. Such as, we deployed it to a QAS box that points to a backend Sandbox. We tested the connections and they seem to work. We used the same JCO destinations names that we used on the system it was created on and that it used to work on. Is there anything else I need to do? I should not have to change any code should I?

Former Member
0 Kudos

I ran this from within the WebDynpro Content Manager and here is the message I get when I run it there. It looks different but I don know Web Dynpro or Java well enough to understand what is happening.

com.sap.tc.webdynpro.services.exceptions.InvalidUrlRuntimeException: Invalid URL=error java.lang.NullPointerException

at com.sap.tc.webdynpro.serverimpl.core.url.AbstractURLGenerator.checkURL(AbstractURLGenerator.java:601)

at com.sap.tc.webdynpro.services.sal.url.core.URLGeneratorInternal.checkURL(URLGeneratorInternal.java:303)

at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.LinkToURL.getReference(LinkToURL.java:206)

at com.sap.tc.webdynpro.clientimpl.html.uielib.standard.uradapter.LinkToURLAdapter.getReference(LinkToURLAdapter.java:235)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.LinkRenderer.render(LinkRenderer.java:45)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.renderMatrixLayoutCellFragment(MatrixLayoutRenderer.java:729)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.renderMatrixLayoutRowFragment(MatrixLayoutRenderer.java:346)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.renderMatrixLayoutFragment(MatrixLayoutRenderer.java:302)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.render(MatrixLayoutRenderer.java:71)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:489)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:61)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.renderMatrixLayoutCellFragment(MatrixLayoutRenderer.java:729)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.renderMatrixLayoutRowFragment(MatrixLayoutRenderer.java:346)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.renderMatrixLayoutFragment(MatrixLayoutRenderer.java:302)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.render(MatrixLayoutRenderer.java:71)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GroupRenderer.renderGroupFragment(GroupRenderer.java:1115)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.GroupRenderer.render(GroupRenderer.java:61)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.renderMatrixLayoutCellFragment(MatrixLayoutRenderer.java:729)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.renderMatrixLayoutRowFragment(MatrixLayoutRenderer.java:346)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.renderMatrixLayoutFragment(MatrixLayoutRenderer.java:302)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.MatrixLayoutRenderer.render(MatrixLayoutRenderer.java:71)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:489)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:61)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.UiWindowRenderer.render(UiWindowRenderer.java:50)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)

at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendHtml(HtmlClient.java:559)

at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:350)

at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:256)

at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.retrieveData(HtmlClient.java:160)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:430)

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.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:390)

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

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

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

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

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

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

Former Member
0 Kudos

This stacktrace tells that there is a LinkToURL somewhere in your view that has an invalid URL. The URL checker complains, but its error message

Invalid URL=error java.lang.NullPointerException

seems strange. How could such a value be used as the URL of the link?

Armin

Former Member
0 Kudos

Hi,

Can you provide the code from

Getlist.java line 183

and

InternalGetlist.java line 296

Regards,

Roelof

Former Member
0 Kudos

Here are the two url statements it is complaining about:

return "http://localhost:4444/MAM30/custom/createMatConfirmationFromOnline.jsp?material="wdContext.currentSearchForElement().getSelectedMatId()"&uq=" + System.currentTimeMillis()"&storageLocation="wdContext.currentStockLevelListElement().getStorageLocationId();

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

return "http://localhost:4444/MAM30/custom/createMatReservationFromOnline.jsp?material="wdContext.currentSearchForElement().getSelectedMatId()"&uq=" + System.currentTimeMillis();

Mike

Former Member
0 Kudos

Hi,

Try to run the URL directly from the browser. Paste the URL "http://localhost:4444/MAM30/custom/createMatConfirmationFromOnline.jsp?" in your browser address bar and check if the correct page is found.

Regards,

Satyajit.

Former Member
0 Kudos

Hi,

check for existence (not null) of wdContext.currentStockLevelListElement() and wdContext.currentSearchForElement()

prior to executing this statement. Or catch the NullPointerException, e.g.:

String url = null;
try {
url = "http://localhost:4444/MAM30/custom/createMatConfirmationFromOnline.jsp?material="+wdContext.currentSearchForElement().getSelectedMatId()+"&uq=" + System.currentTimeMillis()+"&storageLocation="+wdContext.currentStockLevelListElement().getStorageLocationId();

}catch (Exception e) {
// log e.getMessage() or have the messagemeanager print it
url = "url of errorpage";

}
return url;

sridhar_k2
Active Contributor
0 Kudos

Hi Michael,

Can you please check these lines of codes..

1) wdContext.currentSearchForElement().getSelectedMatId()

2)wdContext.currentStockLevelListElement().getStorageLocationId();

NullPointerException may come here.

Try to print the values before executing the -> return "http://.... . With IWDMessageManager.

Regards,

Sridhar