UiPath усечение строк в 10 тыс. (10 000) символов

#uipath #uipath-robot

#uipath #uipath-робот

Вопрос:

Мы столкнулись с недавно возникшей проблемой с UiPath. Это усечение строк, в нашем случае изображения в кодировке base 64, в 10 тыс. символов. Кто-нибудь знает, почему это может происходить, и как мы можем это решить?

Усечение, по-видимому, происходит при загрузке текстовой переменной base64Contents. Видно на фотографии ниже.

base64Contents = Преобразовать.ToBase64String(ByteArray);

UIPathActivity

Ответ №1:

Согласно документации UiPath, существует ограничение в 10 000 символов. Это связано с 'the default communication channel between the Robot Executor and the Robot Service has changed from WCF to IPC'

https://docs.uipath.com/activities/docs/log-message

Потенциальное решение

Обходным путем может быть запись вашей строки в текстовый файл, а не вывод ее в виде журнала. таким образом, вы используете другое действие, и ограничение в 10 000 символов может не применяться.

Комментарии:

1. Спасибо за ваш ответ. Однако проблема не в журнале, а в том, что мы сохраняем строку 64 байта в текстовую переменную, а затем пытаемся отправить строку в API и получаем только 10 тыс. символов строки 64 байта. Документы для текстовой переменной, похоже, не указывают, каков предел, можете ли вы подтвердить, что изменение IPC также влияет на это? docs.uipath.com/studio/docs/text-variables

2. Не могли бы вы дополнить свой вопрос более подробной информацией о действиях, которые вы используете в своей последовательности? Есть несколько моментов, которые вы могли бы проверить. Проблема с UiPath, например, что-то не так с получением / вычислением строки, проблема с отправкой строки в API? получает ли API это и усекает ли его?

3. Отличные мысли, похоже, это происходит при преобразовании при установке переменной с помощью Convert . ToBase64String(ByteArray).

4. Так он просто возвращает первые 10000 символов после запуска Convert.ToBase64String(byteArray) ? также какой тип данных вы сохраняете base64Contents как?