[omniORB] OmniOrb and CP1252 (Windows Latin 1) vs. ISO-8859-1

Likun Yuan lyuan at northplains.com
Tue Oct 14 17:20:27 BST 2008


Hi All,

Following Duncan's instruction, I have built the CP1252 support into
OmniORB 4.1.1. (I'd like to volunteer myself to build the other codesets
tables after I made sure this one's working properly. :-))

1. I added the generated cs-cp1252.cc into the omniCodeSets411_rt.lib,
and linked my application with this lib. The omniORB parameters dumped
at the starting time are:
omniORB: Version: 4.1.1
omniORB: Distribution date: Sun Oct  7 16:41:47 BST 2007 dgrisby
omniORB: My addresses are:
omniORB: 172.16.2.143
omniORB: 127.0.0.1
omniORB: The endPointPublishAllIFs parameter is deprecated.
omniORB: Use an endPointPublish specification instead.
omniORB: Maximum supported GIOP version is 1.2
omniORB: Native char code sets: GBK SNI-EDF-4 IBM-500 IBM-037
windows-1252 windows-1251 ISO-8859-10 ISO-8859-9 ISO-8859-8 ISO-8859-7
ISO-8859-6 ISO-8859-5 ISO-8859-4 ISO-8859-3 ISO-8859-2 UTF-8 ISO-8859-1.
omniORB: Transmission char code sets: GBK(1.2) GBK(1.1) SNI-EDF-4(1.2)
SNI-EDF-4(1.1) IBM-500(1.2) IBM-500(1.1) IBM-037(1.2) IBM-037(1.1)
windows-1252(1.2) windows-1251(1.2) ISO-8859-10(1.2) ISO-8859-9(1.2)
ISO-8859-8(1.2) ISO-8859-7(1.2) ISO-8859-6(1.2) ISO-8859-5(1.2)
ISO-8859-4(1.2) ISO-88
2) ISO-8859-2(1.2) UTF-8(1.2) UTF-8(1.1) ISO-8859-1(1.2) ISO-8859-1(1.1)
ISO-8859-1(1.0).
omniORB: Native wide char code sets: UTF-16.
omniORB: Transmission wide char code sets: UTF-16(1.2).
omniORB: Information: the omniDynamic library is not linked.
omniORB: Current configuration is as follows:
omniORB:   DefaultInitRef (file) =
omniORB:   DefaultInitRef (args) =
omniORB:   InitRef = NameService=corbaname::172.16.2.143:12345
omniORB:   abortOnInternalError = 0
omniORB:   abortOnNativeException = 0
omniORB:   acceptBiDirectionalGIOP = 0
omniORB:   acceptMisalignedTcIndirections = 0
omniORB:   bootstrapAgentHostname =
omniORB:   bootstrapAgentPort = 900
omniORB:   clientCallTimeOutPeriod = 0
omniORB:   clientConnectTimeOutPeriod = 0
omniORB:   clientTransportRule = * unix,ssl,tcp
omniORB:   configFile = [none]
omniORB:   connectionWatchImmediate = 0
omniORB:   connectionWatchPeriod = 50000
omniORB:   copyValuesInLocalCalls = 1
omniORB:   diiThrowsSysExceptions = 0
omniORB:   dumpConfiguration = 1
omniORB:   endPoint = giop:tcp::
omniORB:   endPointPublish = addr,all(addr)
omniORB:   endPointPublishAllIFs = 1
omniORB:   giopMaxMsgSize = 2097152
omniORB:   giopTargetAddressMode = KeyAddr
omniORB:   id = omniORB4
omniORB:   idleThreadTimeout = 10
omniORB:   inConScanPeriod = 180
omniORB:   lcdMode = 0
omniORB:   maxGIOPConnectionPerServer = 5
omniORB:   maxGIOPVersion = 1.2
omniORB:   maxInterleavedCallsPerConnection = 5
omniORB:   maxServerThreadPerConnection = 100
omniORB:   maxServerThreadPoolSize = 100
omniORB:   maxSocketRecv = 131072
omniORB:   maxSocketSend = 131072
omniORB:   nativeCharCodeSet = windows-1252
omniORB:   nativeWCharCodeSet = UTF-16
omniORB:   objectTableSize = 0
omniORB:   offerBiDirectionalGIOP = 0
omniORB:   oneCallPerConnection = 1
omniORB:   outConScanPeriod = 120
omniORB:   poaHoldRequestTimeout = 0
omniORB:   poaUniquePersistentSystemIds = 1
omniORB:   principal = [Null]
omniORB:   resetTimeOutOnRetries = 0
omniORB:   scanGranularity = 5
omniORB:   serverCallTimeOutPeriod = 0
omniORB:   serverTransportRule = * unix,ssl,tcp
omniORB:   socketSendBuffer = 16384
omniORB:   strictIIOP = 1
omniORB:   supportBootstrapAgent = 0
omniORB:   supportCurrent = 1
omniORB:   supportPerThreadTimeOut = 0
omniORB:   tcAliasExpand = 0
omniORB:   threadPerConnectionLowerLimit = 9000
omniORB:   threadPerConnectionPolicy = 1
omniORB:   threadPerConnectionUpperLimit = 10000
omniORB:   threadPoolWatchConnection = 1
omniORB:   traceExceptions = 1
omniORB:   traceFile = [stderr]
omniORB:   traceInvocationReturns = 0
omniORB:   traceInvocations = 0
omniORB:   traceLevel = 25
omniORB:   traceThreadId = 0
omniORB:   traceTime = 0
omniORB:   unixTransportDirectory = /tmp/omni-%u
omniORB:   unixTransportPermission =  777
omniORB:   useTypeCodeIndirections = 1
omniORB:   verifyObjectExistsAndType = 1

2. I have another Java ORB application, with the resolved IOR:
Type ID: "IDL:ConnectionBroker/CBFunctions:1.0"
Profiles:
1. IIOP 1.2 NPS00004 12356 ".......
....................RootPOA.....CB_poa..............."
            TAG_CODE_SETS char native code set: UTF-8
                          char conversion code set: UTF-8
                          wchar native code set: UTF-16
                          wchar conversion code set: 0x05010001

When the JAVA ORB sending the data to the OmniORB application, I was
expecting the OmniORB application set the TCS to windows-1252 based on
the NativeCharCodeSet configuration. But I actually got [UTF-8], the
OmniORB log message as below.

10/14/2008 16:06:07 4332:4108 [DEBUG] omniORBLog(): OmniORB log message:
omniORB: Receive codeset service context and set TCS to (UTF-8,UTF-16)

Is there anything I can do to force the OmniORB to set the TCS to
(windows-1252,UTF-16)? I can't do it on the Java side, the JAVA ORB
doesn't support the windows-1252 codeset at all.

Thank you very much in advance!

...
>If you want to make a CP1252 codeset for omniORB, you can automatically
>generate the tables using bin/scripts/make8bitcs.py giving it input
from
>here:

>  http://www.unicode.org/Public/MAPPINGS/

>The DCE codeset ids come from here:

>
ftp://ftp.opengroup.org/pub/code_set_registry/code_set_registry1.2g.txt


>Any volunteers to make a patch containing all the tables for the
>additional ISO 8859 and Windows codesets in it?

>Cheers,

>Duncan.

>-- 
> -- Duncan Grisby         --
>  -- duncan at grisby.org
<http://www.omniorb-support.com/mailman/listinfo/omniorb-list>      --
>   -- http://www.grisby.org --


_____________________________
Likun Yuan
Server Team Lead
North Plains Systems Corp.
P: 416 345 1900 x 507
lyuan at northplains.com

www.northplains.com
"Bringing FOCUS to Digital Asset Management"
Confidentiality Notice:
The information contained herein is confidential and proprietary to
North Plains Systems Corp. ("North Plains") and is intended for review
by authorized persons only. Except as may otherwise be agreed to in
writing by North Plains, any disclosure, circulation, release or use of
the information contained herein is strictly prohibited 



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20081014/ca494057/attachment-0001.htm


More information about the omniORB-list mailing list