|
Quick Lists
|
|
Bug ID:
|
4379597
|
|
Votes
|
0
|
|
Synopsis
|
writeUTF throws DataFormatException
|
|
Category
|
idl:serialization
|
|
Reported Against
|
1.3
|
|
Release Fixed
|
|
|
State
|
11-Closed, duplicate of 4365188,
bug
|
|
Priority:
|
4-Low
|
|
Related Bugs
|
4365188
|
|
Submit Date
|
16-OCT-2000
|
|
Description
|
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
I'am writing the content of a string using a ObjectOutputStream. Using Corba
this stream uses com.sun.corba.se.internal.io.IIOPOutputStream to provide the
writeUTF() method i used for that.
Calling writeUTF with a string containig characters over '\u00FF' causes the
following exception stack.
---------------------------------------------------------------------
2000-10-13 14:07:51.547 JLE----N org.omg.CORBA.DATA_CONVERSION: minor code:
1398079494 completed: No
at com.sun.corba.se.internal.iiop.CDROutputStream.write_string(Unknown Source)
at com.sun.corba.se.internal.io.IIOPOutputStream.writeUTF(Unknown Source)
at com.si.lt.dom.CSiSunDOMParser.writeElement(CSiSunDOMParser.java:106)
at com.si.lt.base.ASiProperties.writeObject(ASiProperties.java:72)
at com.sun.corba.se.internal.io.IIOPOutputStream.writeObject(Native Method)
at com.sun.corba.se.internal.io.IIOPOutputStream.invokeObjectWriter(Unknown
Source)
at com.sun.corba.se.internal.io.IIOPOutputStream.outputObject(Unknown Source)
at com.sun.corba.se.internal.io.IIOPOutputStream.simpleWriteObject(Unknown
Source)
at com.sun.corba.se.internal.io.ValueHandlerImpl.writeValueInternal(Unknown
Source)
at com.sun.corba.se.internal.io.ValueHandlerImpl.writeValue(Unknown Source)
at com.sun.corba.se.internal.iiop.CDROutputStream.write_value(Unknown Source)
at com.sun.corba.se.internal.iiop.CDROutputStream.write_value(Unknown Source)
at com.si.la.doc.CSiDocHelper.write(CSiDocHelper.java:38)
at com.si.lc.engine.interfaces._ISiDocumentImplBase._invoke
(_ISiDocumentImplBase.java:137)
at com.sun.corba.se.internal.corba.ServerDelegate.dispatch(Unknown Source)
at com.sun.corba.se.internal.iiop.ORB.process(Unknown Source)
at com.sun.corba.se.internal.iiop.CachedWorkerThread.doWork(Unknown Source)
at com.sun.corba.se.internal.iiop.CachedWorkerThread.run(Unknown Source)
---------------------------------------------------------------------
Looking inside the sources of the jsdk1.3 shows that writeUTF() calls
write_string() of CDROutputStream.
This method checks for characters > '\u00FF' and throws the
org.omg.CORBA.DATA_CONVERSION Exception.
Using a ObjectOutputSteam( new FileOutputSteam(...) ) there are no exceptions.
I think writeUTF() should call write_wstring() of CDROutputStream or creating
the real UTF Format and write it as bytes.
(Review ID: 110916)
======================================================================
|
|
Work Around
|
using writeObject() instead of writeUTF().
======================================================================
|
|
Evaluation
|
This is a similar issue to the Java char[] problem in ValueHandler -- writing Java characters/Strings as CORBA chars/strings instead of CORBA wchars/wstrings.
We'll fix this in Ladybird during the serialization work in bug 4365188, so I'm closing this as a duplicate.
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |