Арабские строковые данные вызывают исключение "BasePrimitiveConverter" в Host Integration Server 2013

Применяется к
Host Integration Server 2013

Проблема

Вы запускаете приложение Transaction Integrator, которое передает строковые данные арабского языка в транзакционное приложение мейнфрейма. В определенных условиях процесс завершается сбоем и возвращает исключение, похожее на следующее сообщение об ошибке:

Примечание

HISMPCB0001 В BasePrimitiveConverter возникло исключение.

Описание исключения: смещение и длина вышли за пределы диапазона массива или число превышает число элементов от index до конца исходной коллекции.'".

Эта проблема возникает, если строка содержит пробелы перед арабскими символами и если количество пробелов равно или больше фактического количества арабских символов. Например, эта проблема вызывается следующей строкой:

“بتينبتينص ئ            “ 

Примечание. Кавычки включены в эту строку только для того, чтобы показать добавленные пробелы.

Причина

Эта проблема возникает из-за неправильного вычисления длины строки скопируемого массива.

Решение

Сведения о накопительном пакете обновления

Исправление, устраняющее эту проблему, включено в накопительный пакет обновления 3 для Host Integration Server 2013. Дополнительные сведения о том, как получить накопительный пакет обновления, см. в статье Накопительный пакет обновления 3 для Host Integration Server 2013.

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».