Nelson, a fix for this is part of JIRA UIMA-5189 which addresses error handing when a serializer throws an exception. I will post UIMA-AS 2.9.0 release candidate tomorrow so you can test your use case. Watch for an email on uima dev list. Jerry
On Mon, Nov 21, 2016 at 4:17 PM, nelson rivera <[email protected]> wrote: > I tried to process a input cas in service aggregate deployed in > uima-as. The annotations produced for annotators contains apparently > invalid character, after finalize the processing , when the framework > tries to send the reply, shows a org.xml.sax.SAXParseException error > serializing the cas and in the client side i get not any reply, the > listener associate it is not notified of the error, and the client > program stays waiting > > the log of service aggregate error: > > 03:50:03.578 - 22: > org.apache.uima.aae.controller.AggregateAnalysisEngineControl > ler_impl.replyToClient: > WARNING: Service: XDataFileExtractorAggregate Runtime Exception > 03:50:03.579 - 22: > org.apache.uima.aae.controller.AggregateAnalysisEngineControl > ler_impl.replyToClient: > WARNING: > org.apache.uima.aae.error.AsynchAEException: > org.xml.sax.SAXParseException; Trying to serialize non-XML 1.0 > character: , 0x1 at offset 0 in string starting with > at org.apache.uima.adapter.jms.activemq.JmsOutputChannel. > getSerializedCas(JmsOutputChannel.java:1258) > at org.apache.uima.adapter.jms.activemq.JmsOutputChannel. > sendReply(JmsOutputChannel.java:793) > at org.apache.uima.aae.controller.AggregateAnalysisEngineControl > ler_impl.sendReplyToRemoteClient(AggregateAnalysisEngineControl > ler_impl.java:2166) > at org.apache.uima.aae.controller.AggregateAnalysisEngineControl > ler_impl.replyToClient(AggregateAnalysisEngineController_impl.java:2335) > at org.apache.uima.aae.controller.AggregateAnalysisEngineControl > ler_impl.finalStep(AggregateAnalysisEngineController_impl.java:1855) > at org.apache.uima.aae.controller.AggregateAnalysisEngineControl > ler_impl.executeFlowStep(AggregateAnalysisEngineController_impl.java:2482) > at org.apache.uima.aae.controller.AggregateAnalysisEngineControl > ler_impl.process(AggregateAnalysisEngineController_impl.java:1264) > at org.apache.uima.aae.handler.HandlerBase.invokeProcess( > HandlerBase.java:118) > at org.apache.uima.aae.handler.input.ProcessResponseHandler. > cancelTimerAndProcess(ProcessResponseHandler.java:117) > at org.apache.uima.aae.handler.input.ProcessResponseHandler. > handleProcessResponseWithCASReference(ProcessResponseHandler.java:485) > at org.apache.uima.aae.handler.input.ProcessResponseHandler. > handle(ProcessResponseHandler.java:767) > at org.apache.uima.aae.handler.HandlerBase.delegate( > HandlerBase.java:149) > at org.apache.uima.aae.handler.input.ProcessRequestHandler_ > impl.handle(ProcessRequestHandler_impl.java:1085) > at org.apache.uima.aae.spi.transport.vm.UimaVmMessageListener. > onMessage(UimaVmMessageListener.java:107) > at org.apache.uima.aae.spi.transport.vm. > UimaVmMessageDispatcher$1.run(UimaVmMessageDispatcher.java:70) > at java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1145) > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:615) > at org.apache.uima.aae.UimaAsThreadFactory$1.run( > UimaAsThreadFactory.java:132) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.xml.sax.SAXParseException; Trying to serialize non-XML > 1.0 character: , 0x1 at offset 0 in string starting with > at org.apache.uima.util.XMLSerializer$ > CharacterValidatingContentHandler.checkForInvalidXmlChars( > XMLSerializer.java:374) > at org.apache.uima.util.XMLSerializer$ > CharacterValidatingContentHandler.startElement(XMLSerializer.java:275) > at org.apache.uima.cas.impl.XmiCasSerializer$ > XmiDocSerializer.startElement(XmiCasSerializer.java:1197) > at org.apache.uima.cas.impl.XmiCasSerializer$XmiDocSerializer. > writeFsOrLists(XmiCasSerializer.java:711) > at org.apache.uima.cas.impl.XmiCasSerializer$ > XmiDocSerializer.writeFs(XmiCasSerializer.java:697) > at org.apache.uima.cas.impl.CasSerializerSupport$ > CasDocSerializer.encodeFS(CasSerializerSupport.java:1111) > at org.apache.uima.cas.impl.CasSerializerSupport$ > CasDocSerializer.encodeQueued(CasSerializerSupport.java:1015) > at org.apache.uima.cas.impl.XmiCasSerializer$XmiDocSerializer. > writeFeatureStructures(XmiCasSerializer.java:563) > at org.apache.uima.cas.impl.CasSerializerSupport$ > CasDocSerializer.serialize(CasSerializerSupport.java:439) > at org.apache.uima.cas.impl.XmiCasSerializer.serialize( > XmiCasSerializer.java:415) > at org.apache.uima.cas.impl.XmiCasSerializer.serialize( > XmiCasSerializer.java:385) > at org.apache.uima.aae.UimaSerializer.serializeCasToXmi( > UimaSerializer.java:145) > at org.apache.uima.adapter.jms.activemq.JmsOutputChannel. > serializeCAS(JmsOutputChannel.java:244) > at org.apache.uima.adapter.jms.activemq.JmsOutputChannel. > getSerializedCas(JmsOutputChannel.java:1243) > ... 18 more >
