Uploaded image for project: 'Tuscany'
  1. Tuscany
  2. TUSCANY-3830

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • Java-SDO-1.1
    • Java-SDO-Next
    • None
    • Java 1.6, Eclipse Helios

    Description

      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.

      Attachments

        1. SDO Serialization.zip
          6 kB
          Sebastian Millies

        Activity

          People

            Unassigned Unassigned
            s.millies@ids-scheer.de Sebastian Millies
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: