ArrayIndexOutOfBoundsException during convertToString servic

Hello all,

I have testing a code change where I need to transfer flat file using ftp. While creating i get exception at convertToString function. I am having IS 4.6, EDI_4-6_SP1, wmEDIforTN_4-6FIX7.

This was earlier working fine. but after making a few changes, I started getting this error. one interesting observation is that , this error is thrown alternatively. Means, one submission goes thru and the next fails. Also, I am not getting this error when I resubmit it from TN. I get it only when I submit it from Document tracker and that too it goes thru one time and fails the next time.

The error is:
Error occured while processing
ErrorType - java.lang.ArrayIndexOutOfBoundsException
ErrorDump - java.lang.ArrayIndexOutOfBoundsException
at wm.b2b.edi.EDIConverter.addRelChar(EDIConverter.java:999)
at wm.b2b.edi.EDIConverter.createRecord(EDIConverter.java:1319)
at wm.b2b.edi.EDIConverter.cvtToString(EDIConverter.java:1263)
at wm.b2b.edi.convertToString(edi.java:556)
at java.lang.reflect.Method.invoke(Native Method)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:281)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:688)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:140)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:292)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:559)
at com.wm.lang.flow.FlowState.step(FlowState.java:430)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:400)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1786)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:688)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:140)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:292)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:559)
at com.wm.lang.flow.FlowState.step(FlowState.java:430)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:400)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1786)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:688)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:450)
at com.wm.app.b2b.server.Service.doInvoke(Service.java:495)
at com.wm.app.b2b.server.Service.doInvoke(Service.java:464)
at com.wm.app.tn.route.RoutingActions.invokeWrapper(RoutingActions.java:814)
at com.wm.app.tn.route.RoutingActions.invoke(RoutingActions.java:719)
at wm.tn.route.route(route.java:583)
at java.lang.reflect.Method.invoke(Native Method)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:281)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:688)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:140)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:292)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:559)
at com.wm.lang.flow.FlowState.step(FlowState.java:430)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:400)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1786)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:688)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:140)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:292)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:559)
at com.wm.lang.flow.FlowState.step(FlowState.java:430)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:400)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1786)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:688)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:140)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:292)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:559)
at com.wm.lang.flow.FlowState.step(FlowState.java:430)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:400)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1786)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:688)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:480)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:437)
at com.wm.app.b2b.server.SessionInvoke.run(Session.java:620)
at com.wm.util.pool.PooledThread.run(C:/NT/Perforce/basis/4.1.0-terra/module/core/source/com/wm/util/pool/PooledThread.java:103)

I am using following for segment delimiting…

10 I am not able to zero in on the problem. I wonder if it is a coding problem or something else? I also was searching and a Fix wmEDI_4-6_FIX9 relating to release Char. I am not sure if that is the solution.

Will be thankful if any of you could provide some insight and help.

Regards,