Error while getting the xlsx or csv file from Anaplan platform using REST Get Snap

Team,
I can connect to Anaplan api using REST Get and Post Snap to export the file.
Finally after the export when I am trying to download the csv / xlsx file I am getting the parsing error.
Kindly help me to read the xlsx file using REST Get Snap.

“error”:
“Unexpected character (‘�’ (code 65533 / 0xfffd)): expected a valid value (number, String, array, object, ‘true’, ‘false’ or ‘null’)\n at [Source: ��ࡱ�>��\t��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\t��a����\pJava Excel API v2.6.9 B�a=���=h:�#8X@�"��1���Arial1���Arial1���Arial1���Arial1���Arial1���Arial1��Arial�#,##0;-#,##0��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� � |� �+�� �� �)�� �� �,�� �� ��� �� �\t�� �� � �> ��.. ��.. �a��..\t �����������a���������8�������������������������������3f�ff�������������������������ۣ����������������̙���3�����������f������3f3�f333j��3f���333�{aSheet 1�,��Operating Expense\rNorth AmericaEuropeChinaAsiaEEMA\rLatin America�B���4�Q��m\tx�\n\t��aa7a�\rd����MbP?_+��%������”\t,,�?�?U}�%} a��������\n�\n�\njA�\njA�\njA�\njA�\n jA�\na(jA�hx >�a@<dA\n�7\na����\t\n\r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Root Entry������������Workbook��������SummaryInformation(����DocumentSummaryInformation8������������; line: 1, column: 2]"
“stacktrace”:
“com.fasterxml.jackson.core.JsonParseException: Unexpected character (‘�’ (code 65533 / 0xfffd)): expected a valid value (number, String, array, object, ‘true’, ‘false’ or ‘null’)\n at [Source: ��ࡱ�>��\t��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\t��a����\pJava Excel API v2.6.9 B�a=���=h:�#8X@�"��1���Arial1���Arial1���Arial1���Arial1���Arial1���Arial1��Arial�#,##0;-#,##0��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� � |� �+�� �� �)�� �� �,�� �� ��� �� �\t�� �� � �> ��.. ��.. �a��..\t �����������a���������8�������������������������������3f�ff�������������������������ۣ����������������̙���3�����������f������3f3�f333j��3f���333�{aSheet 1�,��Operating Expense\rNorth AmericaEuropeChinaAsiaEEMA\rLatin America�B���4�Q��m\tx�\n\t��aa7a�\rd����MbP?_+��%������”\t,,�?�?U}�%} a��������\n�\n�\njA�\njA�\njA�\njA�\n jA�\na(jA�hx >�a@<dA\n�7\na����\t\n\r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Root Entry������������Workbook��������SummaryInformation(����DocumentSummaryInformation8������������; line: 1, column: 2]\n\tat com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1581)\n\tat com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:533)\n\tat com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:462)\n\tat com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1624)\n\tat com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:689)\n\tat com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3776)\n\tat com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3721)\n\tat com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2745)\n\tat com.snaplogic.snap.api.rest.RestResponseProcessor.parseJson(RestResponseProcessor.java:539)\n\tat com.snaplogic.snap.api.rest.RestResponseProcessor.deserialize(RestResponseProcessor.java:533)\n\tat com.snaplogic.snap.api.rest.RestResponseProcessor.processEntity(RestResponseProcessor.java:608)\n\tat com.snaplogic.snap.api.rest.RestResponseProcessor.process(RestResponseProcessor.java:308)\n\tat com.snaplogic.snap.api.rest.RestRequestExecutor.execute(RestRequestExecutor.java:345)\n\tat com.snaplogic.snap.api.rest.RestRequestExecutor.executeOnce(RestRequestExecutor.java:277)\n\tat com.snaplogic.snap.api.rest.RestRequestExecutor.execute(RestRequestExecutor.java:195)\n\tat com.snaplogic.snap.api.rest.RestRequestExecutor.execute(RestRequestExecutor.java:178)\n\tat com.snaplogic.snaps.rest.Get.process(Get.java:118)\n\tat com.snaplogic.snap.api.ExecutionUtil.process(ExecutionUtil.java:106)\n\tat com.snaplogic.snap.api.ExecutionUtil.executeForDocument(ExecutionUtil.java:118)\n\tat com.snaplogic.snap.api.ExecutionUtil.execute(ExecutionUtil.java:81)\n\tat com.snaplogic.snap.api.SimpleSnap.execute(SimpleSnap.java:70)\n\tat com.snaplogic.snaps.rest.Get.executeForSuggest(Get.java:190)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.executeSnap(SnapRunnableImpl.java:813)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.executeForSuggest(SnapRunnableImpl.java:662)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.doRun(SnapRunnableImpl.java:871)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.access$000(SnapRunnableImpl.java:121)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl$1.run(SnapRunnableImpl.java:410)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl$1.run(SnapRunnableImpl.java:406)\n\tat java.security.AccessController.doPrivileged(Native Method)\n\tat javax.security.auth.Subject.doAs(Subject.java:422)\n\tat org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:405)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:121)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\n"
“reason”:
“Unexpected character (‘�’ (code 65533 / 0xfffd)): expected a valid value (number, String, array, object, ‘true’, ‘false’ or ‘null’)\n at [Source: ��ࡱ�>��\t��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\t��a����\pJava Excel API v2.6.9 B�a=���=h:�#8X@�"��1���Arial1���Arial1���Arial1���Arial1���Arial1���Arial1��Arial�#,##0;-#,##0��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� � |� �+�� �� �)�� �� �,�� �� ��� �� �\t�� �� � �> ��.. ��.. �a��..\t �����������a���������8�������������������������������3f�ff�������������������������ۣ����������������̙���3�����������f������3f3�f333j��3f���333�{aSheet 1�,��Operating Expense\rNorth AmericaEuropeChinaAsiaEEMA\rLatin America�B���4�Q��m\tx�\n\t��aa7a�\rd����MbP?_+��%������”\t,,�?�?U}�%} a��������\n�\n�\njA�\njA�\njA�\njA�\n jA�\na(jA�hx >�a@<dA\n�7\na����\t\n\r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Root Entry������������Workbook��������SummaryInformation(����DocumentSummaryInformation8������������; line: 1, column: 2]"
“resolution”:
“Please ensure that the provided JSON is correct”

If the data you’re receiving in the response isn’t JSON, then you don’t want to have “DEFAULT” selected as the response type on the REST snap. You probably want to select “BINARY” (if XLSX) and then treat your data as such in the downstream snaps.

1 Like

Thanks Christwr. It worked.
I can read the csv successfully with Response Entity Type = TEXT.
And now I do not get any error for xlsx file with the Response Entity Type = BINARY. But I am unable to parse it.
Can you please help me by suggesting the downstream snap to read the xlsx.
And the response I received is
“statusLine”:{

“protoVersion”:

“HTTP/1.1”

“statusCode”:

200

“reasonPhrase”:

“OK”

}

"entity":

"Base64 encoded data"

“headers”:{

“vary”:

“Accept-Encoding,User-Agent”

“strict-transport-security”:

“max-age=31536000; includeSubDomains”

“connection”:

“Keep-Alive”

“set-cookie”:

“JSESSIONID=F1364F716045134FD84398E72019F2CA; Path=/; HttpOnly;Secure;HttpOnly”

“transfer-encoding”:

“chunked”

“content-type”:

“application/octet-stream”

“server”:

“Apache-Coyote/1.1”

“date”:

“Tue, 28 Jan 2020 11:54:02 GMT”

“keep-alive”:

“timeout=10, max=100”

}

Even though you can specify that you’re receiving BINARY data, I don’t believe the REST GET snap supports defining the output view as BINARY (triangle shape), which would make it easier.

I have a similar process on my end, and I have to add a Mapper and DocumentToBinary snap like below to get the data into a usable structure.

image

Then, you can use a CsvParser or ExcelParser snap, depending on your data.

1 Like

Thanks Christwr. It worked.

1 Like