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
);