Skip to main content

Hi,

I have an app message that fails in IFS9. According to the error message below it has to do with the transformer.

Error while preparing input data.
Caused by: ifs.fnd.base.SystemException: Transformer error : java.lang.ArrayIndexOutOfBoundsException: -1
Caused by: javax.xml.transform.TransformerException: java.lang.ArrayIndexOutOfBoundsException: -1
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1

Its a very rare problem. Almost all messages of the same type are processed without error.

Does someone know how to solve it?

Not knowing which message type this is means my reply is going to be generic.  When processing a file in one of the inboxes it could be handed off to a transformer whose job it is to read the file and pass it along to a routine to process the message.  That transformer is java code.  It is either the generic reader or it could be part of a custom BizAPI.

Usually this results from an XML file that contains more elements that what is expected.


Thanks for your reply!
This is an outbound message sent to third party. We use FILE as Transport Connector and the default file sender is used.

Its very strange if the XML is not the same for every message. But I will compare when we get the error next time.

Any other suggestions?


Is there an element that is normally repeated, but in these instances it has no repeated elements.  For example do you have something like a Purchase Order that has not lines?

The other thought that occurred to me is that the error references “-1” as the invalid index.  Is this perhaps a customer order and the index value being used is the line_item_no of the customer order line?  If so -1 indicates the Package header line.


Now i realize that I havent mentioned that these messages are getting processed correctly when they are restarted. Sorry for that!

So I dont think it has to do with the XML.
Today morning an inbound message in another queue failed with almost the same error. Only difference was that the “-1” was not present. Last row ended with “null” like below:
Caused by: java.lang.ArrayIndexOutOfBoundsException: null

 


I’m seeing this sporadically, too.

Error while preparing input data. 
Caused by: ifs.fnd.base.SystemException: Transformer error : java.lang.ArrayIndexOutOfBoundsException
Caused by: javax.xml.transform.TransformerException: java.lang.ArrayIndexOutOfBoundsException
Caused by: java.lang.ArrayIndexOutOfBoundsException: null

It works when I restart the failed address line, so it’s not a data issue.

The error stack points internally to IFS’ own XML transformer, so I don’t think it’s the fault of our external system.


Is there a way to automatically restart certain failed application messages? (Will such a restart retry the transformer code that’s failing?)


Reply