String features in out-of-typesystem data not normalized on service replies
---------------------------------------------------------------------------

                 Key: UIMA-1707
                 URL: https://issues.apache.org/jira/browse/UIMA-1707
             Project: UIMA
          Issue Type: Bug
          Components: C++ Framework
    Affects Versions: 2.2.2
            Reporter: Eddie Epstein
            Assignee: Eddie Epstein
             Fix For: 2.3C


Christoph Büscher  to uima-user

I currently encountered a problem with the XMI deserialization of a feature 
structure after calling a remote C++ AS annotator from a CPE. The szenario is 
the following:

1. I add a custom feature structure "DocumentData" containing an String Feature 
(the document URL) to the CAS in my CPE. The exact URL causing the problem is:

documentURL="http://www.gesundheitsnachrichten.net/live/navigation/live.php?navigation_id=11&_psmand=1";

2. The CAS get's serialized to XMI before sending it to a remote C++ TAE. I 
added a breakpoint to UimaSerializer.serializeCasToXmi() and get the following 
part in the XMI string:

documentURL="http://www.gesundheitsnachrichten.net/live/navigation/live.php?navigation_id=11&_psmand=1";

So here the "&" character seems to be excaped correctly.

3. When the document comes back, the same feature in the XMI string received in 
UimaSerializer.deserializeCasFromXmi() reads:

documentURL="http://www.gesundheitsnachrichten.net/live/navigation/live.php?navigation_id=11&_psmand=1";

an now the SAXParser throws the following exception:

org.xml.sax.SAXParseException: The reference to entity "_psmand" must end with 
the ';' delimiter.
       at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
       at 
org.apache.uima.aae.UimaSerializer.deserializeCasFromXmi(UimaSerializer.java:170)
       at ...

because the "&" comes back unescaped.
-----------------------------------

Christoph Büscher to uima-user

I did some further testing and the problem seems to happen when the FS is not
declared in the remote C++ TAE but declared and set in an AE in the (lokal) main
 application (in out case a CPE running various Java AEs).
------------------------------------------

Nice work Christoph!


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to