SDO problem: No escaping of special characters during (un)marshalling
---------------------------------------------------------------------

                 Key: TUSCANY-3830
                 URL: https://issues.apache.org/jira/browse/TUSCANY-3830
             Project: Tuscany
          Issue Type: Bug
          Components: Java SDO Implementation
    Affects Versions: Java-SDO-1.1
         Environment: Java 1.6, Eclipse Helios
            Reporter: Sebastian Millies
            Priority: Minor
         Attachments: SDO Serialization.zip

I'm using SDO's over RMI in Tuscany 1.6.1.
I'm running into a problem when the SDO has a String attribute 
(defined as <xsd:string>) and the string contains valid UTF-8 
characters that are illegal in XML (e.g. '\u001f'). The SDO gets 
serialized without escaping/encoding these bytes.

When I later try to unmarshal these objects, the unmarshaller
crashes.

Is that a documented restriction on SDOs? I found nothing in the
spec. It seems to say quite simply that <xsd:string> is mapped to 
java.lang.String,
so I am inclined to view this as a bug.

I attach a little Eclipse project that demonstrates the problem.
Unzip, compile, run server.Launcher, then run client.Client.
You'll get the exception in Client.java line 44.

After the service invocation, Tuscany SCA correctly returns an object of type 
DynamicDataObjectImpl to the RMI 
marshalling framework.  The problem occurs when RMI marshals and unmarshals the 
DynamicDataObjectImpl object.  
This is presumably because the writeExternal() and readExternal() methods of 
DynamicDataObjectImpl don't support
special characters embedded in strings.


-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to