[ 
https://issues.apache.org/jira/browse/YOKO-413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520839
 ] 

Wolfgang Glas commented on YOKO-413:
------------------------------------

OK, now that I can specifiy UTF-8 as native code set and accept UTF-8 as the 
foreign codeset of the orbit-2 server, I come across the next problem, when I 
try to transmit a char code above 255:

org.omg.CORBA.DATA_CONVERSION: illegal char value for string: 1488  vmcid: 0x0  
minor code: 0  completed: No
        at 
org.apache.yoko.orb.CORBA.OutputStream.write_string(OutputStream.java:977)
        at _EchoStub.echoString(_EchoStub.java:33)
        at EchoClient.main(EchoClient.java:55)

The corresponding code snippet at  
org/apache/yoko/orb/CORBA/OutputStream.java:976ff is:

************ 
                if (c == 0 || c > 255)
                    throw new org.omg.CORBA.DATA_CONVERSION(
                            "illegal char value for string: " + (int) c);
************ 

Dropping these three lines solves the problem for me, maybe the 
CodeConverterBase class should be extende by a method

int getMaxCharCode(), which returns 255 for normal 8bit codesets and 65535 for 
utf-8.

Any comments are welcome, I really intend to use orbit-2 for my production 
components.

  TIA,

   Wolfgang

> Unable to configure UTF-8 as yoko's native charset.
> ---------------------------------------------------
>
>                 Key: YOKO-413
>                 URL: https://issues.apache.org/jira/browse/YOKO-413
>             Project: Yoko - CORBA Server
>          Issue Type: Bug
>          Components: orb core
>    Affects Versions: v1.0-incubating-M2
>         Environment: Linux jre-sun-1.5.0
>            Reporter: Wolfgang Glas
>         Attachments: yoko-core-20070818-orbit2-interop.patch
>
>
> SUN ORB cowardly refuses to talk utf-8 with my orbit-2 server, as I reported 
> to under the following issue:
>   http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6567407
> Hence I gave yoko a try and unfortunately yoko too could not be configured to 
> natively talk utf-8 on the wire.
> Suspectedly, this is due to the following code in
> org.apache.yoko.orb.OBCORBA.ORB_impl.java:962 ff.:
> ************
>             } else if (key.equals("yoko.orb.native_cs")) {
>                 int csid = org.apache.yoko.orb.OB.CodeSetDatabase.instance()
>                         .nameToId(value);
>                 if (csid != 0
>                         && csid != 
> org.apache.yoko.orb.OB.CodeSetDatabase.UTF8)
>                     nativeCs = csid;
>                 else {
>                     String err = "ORB.init: unknown value for "
>                             + "yoko.orb.native_cs: " + value;
>                     logger.error(err);
>                     throw new org.omg.CORBA.INITIALIZE(err);
>                 }
> ************
> Can any one give me clue, why UTF-8 is excluded from the valid native 
> charsets at this point. Whenever I try to impose UTF-8 on the wire using
>  
>   -Dyoko.orb.native_cs=UTF-8
> The above CORBA_INITIALIZE exception is thrown.
> Please consider to allow UTF-8 as native charset or give me a hint how I can 
> successfully talk UTF-8 with a orbit-2 server using YOKO as my client.
>   TIA,
>     Wolfgang

-- 
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