cancel
Showing results for 
Search instead for 
Did you mean: 

IWDConfirmationDialog Exceptions and WDCreationFailedException on handler

Former Member
0 Kudos

I have created a Confirmation dialog with the following code. It seems to run fine on my local J2EE Server through many test popup cycles but when the application using this method is deployed in the portal envirnonment something happens after a while and I continually get nasty <b>Null Pointer Execptions</b> or the <b>WDCreationFailedException</b> below for for the dialog box No action which simply calls destroy method on the window handle to dispose of it. Any ideas what is going on or how to correct this problem?


private void popupConfirmationMsgWin(
		String popupTitle,
		ArrayList messages) {

		StringBuffer usrMsgBuf = new StringBuffer();
		for (int i = 0; i < messages.size(); i++) {
			usrMsgBuf.append(messages.get(i));
			usrMsgBuf.append("n");
		}

		String ok =
			wdThis.wdGetPortfolioMsgComponentInterface().getMessage(
				"ORDOK",
				null);

		
		IWDControllerInfo controllerInfo =
			wdControllerAPI.getViewInfo().getViewController();
		IWDConfirmationDialog dialog =
			wdComponentAPI.getWindowManager().createConfirmationWindow(
				usrMsgBuf.toString(),
				controllerInfo.findInEventHandlers(
					"onActionDestroyPopupDialogWin"),
				ok);
		dialog.setTitle(popupTitle);

		_CurrentCtx.setPopupMsgDialogueWindow(dialog);

		dialog.open();

	}

// WDCreationFailedException

<b>com.sap.tc.webdynpro.services.exceptions.WDCreationFailedException: add of choice (label: No)failed! (evenhandler: null</b>

at com.sap.tc.webdynpro.clientserver.window.ConfirmationDialogDelegate.addChoice(ConfirmationDialogDelegate.java:88)

at com.sap.tc.webdynpro.clientserver.window.ConfirmationDialogDelegate.addChoice(ConfirmationDialogDelegate.java:97)

at com.chep.portfolio.dynpro.DashboardView.onActionAcceptPreNote(DashboardView.java:1958)

at com.chep.portfolio.dynpro.wdp.InternalDashboardView.wdInvokeEventHandler(InternalDashboardView.java:1631)

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

... 25 more

// Null Pointer Exception when it trys to create the dialog.

<b>java.lang.NullPointerException</b>

at com.sap.tc.webdynpro.clientserver.window.ConfirmationDialogDelegate.<init>(ConfirmationDialogDelegate.java:58)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createConfirmationWindow(ClientComponent.java:927)

at com.chep.portfolio.dynpro.DashboardView.popupConfirmationMsgWin(DashboardView.java:4215)

at com.chep.portfolio.dynpro.DashboardView.onActionSearch(DashboardView.java:3665)

at com.chep.portfolio.dynpro.wdp.InternalDashboardView.wdInvokeEventHandler(InternalDashboardView.java:2030)

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

After researching the error we (Dynpro Build Manager & I) have confirmed the that some other WebDynpro project was using the same package name as mine and when that dynpro application gets deployed on the Portal a package naming conflict occures causing the next call to find the event handler, <b>IWDControllerInfo.findInEventHandlers("onActionDestroyPopupDialogWin")</b>, to return null, susequently the CofirmationDialog box creation fails.

Its an example of why it is important to register/reserver your package names in the landscape.

Answers (0)