Hello,
When accessing fields of array items in a foreach I get an error when the array is empty, even when I put the whole foreach in a conditional checking whether the array is empty. Please find attached minimal examples.Empty Array Issue.zip (12.3 KB)
I’ve tried sending an empty array object, sending a null, and omitting the field entirely but all fail.
I’m using:
- Aspose.Words for Java, v22.9
- a Word template
- the ReportingEngine
- a JsonDataSource
I’m also using the ALLOW_MISSING_MEMBERS reporting engine option but still get the error.
I notice a similar thread from a couple of years ago: LINQ Reporting engine throws java.lang.IllegalStateException - Aspose.Words Product Family - Free Support Forum - aspose.com
Exception thrown is:
java.lang.NullPointerException: Cannot invoke “com.aspose.words.internal.zzqF.zzYIY(Object, String)” because “this.zzZmo” is null
at com.aspose.words.internal.zzZlX.zzYIY(Unknown Source)
at com.aspose.words.internal.zzYeJ.zzYIY(Unknown Source)
at com.aspose.words.internal.zzWNU.zzYIY(Unknown Source)
at com.aspose.words.internal.zzYBa.zzO3(Unknown Source)
at com.aspose.words.internal.zzW9B.zzYIY(Unknown Source)
at com.aspose.words.internal.zzW9B.zzZMk(Unknown Source)
at com.aspose.words.internal.zzW9B.zzX46(Unknown Source)
at com.aspose.words.internal.zzW9B.zz0r(Unknown Source)
at com.aspose.words.internal.zzW9B.zzZkW(Unknown Source)
at com.aspose.words.internal.zzW9B.zzYr0(Unknown Source)
at com.aspose.words.internal.zzW9B.zzGK(Unknown Source)
at com.aspose.words.internal.zzW9B.zzeh(Unknown Source)
at com.aspose.words.internal.zzW9B.zzZGw(Unknown Source)
at com.aspose.words.internal.zzW9B.zzWza(Unknown Source)
at com.aspose.words.internal.zzW9B.zzYSp(Unknown Source)
at com.aspose.words.internal.zzW9B.zzXlR(Unknown Source)
at com.aspose.words.internal.zzW9B.zzWsF(Unknown Source)
at com.aspose.words.internal.zzW9B.zzwU(Unknown Source)
at com.aspose.words.internal.zzW9B.zzZKV(Unknown Source)
at com.aspose.words.internal.zzW9B.zzYLj(Unknown Source)
at com.aspose.words.internal.zzW9B.zzWh5(Unknown Source)
at com.aspose.words.internal.zzW9B.zzXUZ(Unknown Source)
at com.aspose.words.internal.zzWrz.zzZc5(Unknown Source)
at com.aspose.words.internal.zzWrz.zz8q(Unknown Source)
at com.aspose.words.internal.zzWrz.zzYIY(Unknown Source)
at com.aspose.words.internal.zzWrz.zzYIY(Unknown Source)
at com.aspose.words.internal.zzWUg.zz8G(Unknown Source)
at com.aspose.words.internal.zzYHC.zzXdL(Unknown Source)
at com.aspose.words.internal.zzYHC.zzYuk(Unknown Source)
at com.aspose.words.internal.zzYHC.zzXSY(Unknown Source)
at com.aspose.words.internal.zzYHC.zzYIC(Unknown Source)
at com.aspose.words.internal.zzYHC.zzW9j(Unknown Source)
at com.aspose.words.internal.zzWUg.zzYIY(Unknown Source)
at com.aspose.words.internal.zzWUg.zzYIY(Unknown Source)
at com.aspose.words.internal.zzVt.zzYIY(Unknown Source)
at com.aspose.words.internal.zzVt.zzYIY(Unknown Source)
at com.aspose.words.ReportingEngine.buildReport(Unknown Source)
at com.aspose.words.ReportingEngine.buildReport(Unknown Source)
…rest omitted
Are you able to advise the correct way of doing this?
Thank you for your help,