01-27-2020 09:34 AM
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”
Solved! Go to Solution.
01-27-2020 10:22 AM
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.
01-27-2020 10:22 AM
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.
01-28-2020 03:56 AM
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”
}
01-28-2020 05:50 AM
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.
Then, you can use a CsvParser or ExcelParser snap, depending on your data.
01-28-2020 09:33 AM
Thanks Christwr. It worked.