2017-12-05 3 views
1

나는 Ruta 스크립트를 Java에서 실행시키고 결과 CAS 객체를 아래와 같이 xmi 파일로 변환했습니다. 아래 xmi를 CAS 객체로 비 직렬화하려고 시도하는 중 XCASParsingException

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. 

예외 스냅 샷.enter image description here

+0

다른 서버에 CAS를 만드는 데 사용되는 유형의 시스템이 호환되는지 확인할나요/동등한? –

+0

XMI 형식 대신 XCas 형식을 사용하고있는 것으로 보입니다. CasIOUtil을 사용해 볼 수 있습니다. –

+0

시도 함 - CasIOUtil.writeXmi (cas1, outputXmiFile); - CasIOUtil.readXmi (cas, outputXmiFile); 및 읽기 도중 비슷한 예외가 발생합니다. java.io.IOException : 소스 에서 XCAS 또는 XMI-CAS를 구문 분석하는 중 오류가 발생했습니다 (줄 1, 열 1415 : 알 수없는 유형 : NULL). –

답변

1

예 감사! 그것은 효과가있다!

import org.apache.uima.util.CasIOUtils;

CAS XMI

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

XMI CAS

CasIOUtils.load(fileInputStream, cas);