cancel
Showing results for 
Search instead for 
Did you mean: 

ArrayIndexOutOfBoundsException

Former Member
0 Kudos

Hi All,

I am facing an exception (ArrayIndexOutOfBoundsException) when i run the bapi thru wedynpro.Ful list of error is mentioned below.

java.lang.ArrayIndexOutOfBoundsException: -1
	at com.sap.mw.jco.JCO$MetaData.getType(JCO.java:10038)
	at com.sap.aii.proxy.framework.core.JcoBaseTypeData.getElementValue(JcoBaseTypeData.java:503)
	at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCModelClass.getRelatedModelObjects(DynamicRFCModelClass.java:787)
	at com.sap.form61.model.Y_Bapi_Project_Getlist_Output.getProjid(Y_Bapi_Project_Getlist_Output.java:135)
	at com.sap.form61.wdp.IPublicForm61Comp$IProjidNode.doSupplyElements(IPublicForm61Comp.java:589)
	at com.sap.tc.webdynpro.progmodel.context.Node.supplyElements(Node.java:406)
	at com.sap.tc.webdynpro.progmodel.context.Node.getElementList(Node.java:345)
	at com.sap.tc.webdynpro.progmodel.context.Node.createMappedElementList(Node.java:498)
	at com.sap.tc.webdynpro.progmodel.context.Node.supplyElements(Node.java:393)
	at com.sap.tc.webdynpro.progmodel.context.Node.getElementList(Node.java:345)
	at com.sap.tc.webdynpro.progmodel.context.Node.getElements(Node.java:333)
	at com.sap.tc.webdynpro.progmodel.context.Node.getElementAtInternal(Node.java:615)
	at com.sap.tc.webdynpro.progmodel.context.Paths.followPath(Paths.java:897)
	at com.sap.tc.webdynpro.progmodel.context.Paths.followPath(Paths.java:852)
	at com.sap.tc.webdynpro.progmodel.context.Paths.isValid(Paths.java:612)
	at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.TextView._isValidBindingOfPrimaryProperty(TextView.java:775)
	at com.sap.tc.webdynpro.progmodel.view.UIElement.getEnabled(UIElement.java:364)
	at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.Label._isEnabled(Label.java:115)
	at com.sap.tc.webdynpro.progmodel.view.UIElement.getEnabled(UIElement.java:364)
	at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.LabelAdapter.getEnabled(LabelAdapter.java:213)
	at com.sap.tc.ur.renderer.ie6.LabelRenderer.render(LabelRenderer.java:82)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
	at com.sap.tc.ur.renderer.ie6.MatrixLayoutRenderer.renderMatrixLayoutCellFragment(MatrixLayoutRenderer.java:788)
	at com.sap.tc.ur.renderer.ie6.MatrixLayoutRenderer.renderMatrixLayoutRowFragment(MatrixLayoutRenderer.java:374)
	at com.sap.tc.ur.renderer.ie6.MatrixLayoutRenderer.renderMatrixLayoutFragment(MatrixLayoutRenderer.java:324)
	at com.sap.tc.ur.renderer.ie6.MatrixLayoutRenderer.render(MatrixLayoutRenderer.java:77)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
	at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:617)
	at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:72)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
	at com.sap.tc.ur.renderer.ie6.ViewContainerRenderer.renderViewContainerFragment(ViewContainerRenderer.java:132)
	at com.sap.tc.ur.renderer.ie6.ViewContainerRenderer.render(ViewContainerRenderer.java:47)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
	at com.sap.tc.ur.renderer.ie6.GridLayoutRenderer.renderGridLayoutCellFragment(GridLayoutRenderer.java:824)
	at com.sap.tc.ur.renderer.ie6.GridLayoutRenderer.renderGridLayoutRowFragment(GridLayoutRenderer.java:422)
	at com.sap.tc.ur.renderer.ie6.GridLayoutRenderer.renderGridLayoutFragment(GridLayoutRenderer.java:334)
	at com.sap.tc.ur.renderer.ie6.GridLayoutRenderer.render(GridLayoutRenderer.java:77)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
	at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:617)
	at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:72)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.UiWindowRenderer.render(UiWindowRenderer.java:52)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
	at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
	at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendHtml(HtmlClient.java:1035)
	at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.fillDynamicTemplateContext(HtmlClient.java:448)
	at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:1216)
	at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.retrieveData(HtmlClient.java:245)
	at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doRetrieveData(WindowPhaseModel.java:595)
	at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:156)
	at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:330)
	at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
	at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
	at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:707)
	at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:661)
	at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:229)
	at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:152)
	at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
	at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
	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)

I have created a custom bapi which returns multline single field value on execution.

Now this bapi has an import parameter with a single value suppose name.

i have creatd two view

Search view with name field as input field.

And result view with a table output for multilne singe field value.

When i click the Serach button on search view i recieve this exception.

Kindly help me................

Accepted Solutions (1)

Accepted Solutions (1)

susmita_panigrahi
Active Participant
0 Kudos

Hi

If have reimported the model for updating new changes in BAPI we have to restart J2EE server .

ArrayIndexOutOfBoundsException : Error comes when you try to get a value from node with index that does not exist. check the node size and get the value.As the error states MetaData.getType it seems that the new changes are not yet reflected in the J2EE server. You need to restart your engine once.

Please refer the below forums also:

Thanks

Susmita

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

it usually happens when u try to give some value to the array index that exceeds the limit.

First you check the RFC is working fine or not.

Was there any change in RFC import,export or table parameter. If yes, then restart the J2EE server.

Regards,

Sunaina Reddy T

Former Member
0 Kudos

Its not possible for me to restart J2ee server

Former Member
0 Kudos

Hi,

Try to invalidate the metadata cache of your model in webdynpro console and check.

Follow the steps mentioned in this pdf document

https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df&overrid...

If this doesnt help you any way then you have to restart your server.

Hope this helps you..

Regards,

Saleem

Former Member
0 Kudos

Thank you Folks for all your support.

Yes finally, here our basic guy was convinced to restart the J2EE server.

I never trusted this method and i though it was a hit n trial method, but finally after all the tries i was left with only this option.

Its very hard to convince people to take initiation when they know they are bothered only to practice your own examples and not for any official job.

Restarting the Server finally works.

I did a little change in bapi function after creation of model in WD application.

Now for sure, this cache error is resolved.

Once again I thank you all for the guiodance as well my basis guy to be so much supportive.

Thank N Regardfs,

Sumesh Nair

Former Member
0 Kudos

Hi Sumesh,

Is there any change in the bapi structure, i mean any new fields are being added to bapi or data type of the fields has been changed then this type of exception occurs.

So please check with your abap team wether the bapi strucuture has been changed or not.

If it is changes try invalidate the metadata cache for this model in webdynpro console and check.

But restart of the server is the best option and it will surely resolve your problem

Regards,

Saleem

former_member197348
Active Contributor
0 Kudos

Hi Sumesh,

Most probably the BAPI is not returning the values. Comment the code after BAPI execution call in Search button. Print the size of the search output node and try to print the BAPI return node as well. Probably you will get hint. Check also whether the import parameter is also passed successfully. [_External debugging_ |https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/0e9a9d90-0201-0010-478e-991dbea73a30&overridelayout=true]is one method to track this type of errors.

Regards,

Siva