XCASParsingException при попытке десериализации xmi в объект CAS

Я запустил скрипты Ruta из Java и преобразовал получившийся объект CAS в файл xmi, как показано ниже;

FileOutputStream fileOutputStream = new FileOutputStream(outputXmiFile);
XmiCasSerializer.serialize(cas, fileOutputStream);

Когда я пытаюсь преобразовать его обратно в объект CAS (на другом сервере), как показано ниже;

FileInputStream fileInputStream = new FileInputStream(xmiFile);
XmlCasDeserializer.deserialize(fileInputStream, cas);

Я получаю следующее исключение;

XCASParsingException: Error parsing XCAS or XMI-CAS from source <unknown> at line <unknown>, column <unknown>: unknown type: NULL.

Снимок исключения.

1 ответ

Я. Спасибо! Это сработало!

import org.apache.uima.util.CasIOUtils;

CAS в XMI

CasIOUtils.save(cas, fileOutputStream, SerialFormat.XMI);

XMI в CAS

CasIOUtils.load(fileInputStream, cas);

Эта проблема возникает, когда с вашим файлом XMI действительно что-то не так.

Совет: Другой способ открытия файлов XMI - использование XmiReader.

File xmlFile = new File("/path/to/file.xmi");
CollectionReaderDescription description = createReaderDescription(
   XmiReader.class,
   XmiReader.PARAM_SOURCE_LOCATION, xmlFile
);
Другие вопросы по тегам