Поскольку я новичок в IBM MQ и IIB, я пытаюсь поэкспериментировать с онлайн-учебниками. На данный момент я пытаюсь сделать простое приложение, которое читает несколько строк в текстовом файле, разделенных двоеточием, и записывает их в файл XML. В настоящее время я застрял при чтении нескольких строк из файла. Я знаю, как заставить его работать только с одной строкой, но не могу с более чем одной. Я знаю, что между двумя сложными типами должны быть отношения родитель-потомок, но не могу их правильно настроить. Также я использую RFHUtil для отправки файла сообщения в очередь.
Поскольку я не могу найти много в гугле, я надеюсь, что кто-то с правильным знанием может помочь.
У меня нет кода, но есть изображение определения моего сообщения: http://prnt.sc/nv9npr
Вот ошибка, которую я получаю: http://prnt.sc/nv9nyi
Итак, две вещи, которые я вижу на ваших текущих снимках экрана.
На первом снимке экрана я вижу \r\n, то есть CRLF, который указывает, что ваш разделитель должен быть либо CRLF, либо ваша модель должна иметь дело с CRLF.
Во втором у вас есть частично проанализированное сообщение. Попробуйте установить параметры расширенного синтаксического анализатора на узле ввода в значение ParseComplete, все по-прежнему будет взрываться, но вы должны получить более качественную диагностическую информацию в ExceptionList.
Похоже, вы пытаетесь использовать синтаксический анализатор MRM, который был заменен синтаксическим анализатором DFDL. Я предлагаю вам найти несколько руководств по парсеру DFDL, это намного эффективнее. Также в Toolkit встроена поддержка, которая позволит вам отлаживать модель сообщения, которую вы создаете Тестирование схемы DFDL путем разбора тестовых входных данных.
Добро пожаловать. Выполнение поиска «github iib» выдаст несколько интересных ссылок, включая эту developer.ibm.com/integration/resources/…, которая дает больше информации о DFDL наряду с другими вещами.
Я использовал DFDL, как вы предложили, и это сработало. Спасибо за помощь :)