 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Jarle Aase Guest
|
Posted: Wed Feb 02, 2005 4:40 am Post subject: Sun j2sdk, tao and wstring. |
|
|
Hi,
I'm developing a server in C++ that use TAO 1.4.3. The client use Sun j2sdk
1.4.2. When the client calls a simple method on the server that returns a
wstring, the string appears as nonprintable characters in the Sun netbeans
debugger. According to the documentation, both corba implementations use
UTF-16 as default wstring format. When I look at the debug-output from TAO,
it seems to send the correct string to the client. My best guess is that
they use different byte ordering.
I've done some googling, and it appears that there are some known issues
with Sun's corba implementation, and wstrings. Is there a reasonable simple
way to make this work (without breaking compatibility with clients that use
other corba implementations)?
Jarle
--
Jarle Aase http://www.jgaa.com
mailto:jgaa (AT) jgaa (DOT) com
<<< no need to argue - just kill'em all! >>>
|
|
| Back to top |
|
 |
Phil Mesnier Guest
|
Posted: Wed Feb 02, 2005 2:01 pm Post subject: Re: Sun j2sdk, tao and wstring. |
|
|
Hi Jarle,
The most recent (CVS) version of TAO contains a fix that should address
your problem. Likewise, OCI's commersial version of TAO, freely available
from www.theaceorb.com, also has this fix.
Regards,
Phil
Jarle Aase wrote:
| Quote: | Hi,
I'm developing a server in C++ that use TAO 1.4.3. The client use Sun j2sdk
1.4.2. When the client calls a simple method on the server that returns a
wstring, the string appears as nonprintable characters in the Sun netbeans
debugger. According to the documentation, both corba implementations use
UTF-16 as default wstring format. When I look at the debug-output from TAO,
it seems to send the correct string to the client. My best guess is that
they use different byte ordering.
I've done some googling, and it appears that there are some known issues
with Sun's corba implementation, and wstrings. Is there a reasonable simple
way to make this work (without breaking compatibility with clients that use
other corba implementations)?
Jarle
|
--
Phil Mesnier
Principal Software Engineer, http://www.ociweb.com
Object Computing, Inc. +01.314.579.0066
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
|
|
| Back to top |
|
 |
Jarle Aase Guest
|
Posted: Fri Feb 04, 2005 10:37 am Post subject: Re: Sun j2sdk, tao and wstring. |
|
|
Phil Mesnier wrote:
| Quote: | Hi Jarle,
The most recent (CVS) version of TAO contains a fix that should address
your problem.
|
I tried to donload it, but I'm unable to compile ACE. I'm using Windows XP
and MSVC 6. The cvs version has no build-files for VC, and there is
probably something missing in the ones I built with "mwc.pl -type vc6
ace.mvc"
| Quote: | Likewise, OCI's commersial version of TAO, freely available
from www.theaceorb.com, also has this fix.
|
I tried to download and build TAO from the latest source there (ACE
5.3a_pl-OCI and TAO 1.3a_p1-OCI). The problem persists.
Below is the debug-output from TAO during the method-call to "wstring
GetName()". I cannot spot what's wrong here :/
TAO (3464|3468) Connection_Handler[1324]::handle_input, handle = 1324/1324,
refcount = 2, retval = 0
TAO (3464|3468) - ORB_Core::run, handle_events() returns 1
TAO (3464|3468) - ORB_Core::run, calling handle_events()
TAO (3464|3468) - Connection_Handler[1324]::handle_input, handle =
1324/1324, refcount = 3
TAO (3464|3468) - Transport[1324]::handle_input_i
TAO (3464|3468) - Transport[1324]::process_queue_head
TAO (3464|3468) - Transport[1324]::handle_input_i: read 144 bytes
TAO (%P|%t) Transport::handle_input_i(): bytes read from socket - HEXDUMP
144 bytes
47 49 4f 50 01 02 00 00 00 00 00 84 00 00 00 0c GIOP............
03 00 00 00 00 00 00 00 00 00 00 41 14 01 0f 00 ...........A....
4e 55 50 00 00 00 26 01 00 00 00 01 00 00 00 00 NUP...&.........
57 61 72 53 65 72 76 65 72 49 66 50 4f 41 00 50 WarServerIfPOA.P
65 72 73 69 73 74 65 6e 74 50 4f 41 00 00 00 00 ersistentPOA....
00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 08 47 65 74 4e 61 6d 65 00 00 00 00 02 ....GetName.....
00 00 00 01 00 00 00 0c 00 00 00 00 00 01 00 01 ................
00 01 01 09 4e 45 4f 00 00 00 00 02 00 0a 00 00 ....NEO.........
TAO (3464|3468) Transport::handle_input_i: extracting complete messages
from this message buffer - HEXDUMP 144 bytes
47 49 4f 50 01 02 00 00 00 00 00 84 00 00 00 0c GIOP............
03 00 00 00 00 00 00 00 00 00 00 41 14 01 0f 00 ...........A....
4e 55 50 00 00 00 26 01 00 00 00 01 00 00 00 00 NUP...&.........
57 61 72 53 65 72 76 65 72 49 66 50 4f 41 00 50 WarServerIfPOA.P
65 72 73 69 73 74 65 6e 74 50 4f 41 00 00 00 00 ersistentPOA....
00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 08 47 65 74 4e 61 6d 65 00 00 00 00 02 ....GetName.....
00 00 00 01 00 00 00 0c 00 00 00 00 00 01 00 01 ................
00 01 01 09 4e 45 4f 00 00 00 00 02 00 0a 00 00 ....NEO.........
TAO (3464|3468) Queued_Data::make_complete_message: extracted complete
message (144 bytes incl hdr) from mblk=12f1d4 into qd=157c2c0
TAO (3464|3468) Transport::handle_input_i: extracting complete messages
from this message buffer - HEXDUMP 0 bytes
TAO (3464|3468) - Transport[1324]::process_queue_head
TAO (3464|3468) - Transport[1324]::process_queue_head, the size of the queue
is [0]
TAO (3464|3468) - GIOP_Message_Base::dump_msg, recv GIOP v1.2 msg, 132 data
bytes, other endian, Type Request[12]
GIOP message - HEXDUMP 144 bytes
47 49 4f 50 01 02 00 00 00 00 00 84 00 00 00 0c GIOP............
03 00 00 00 00 00 00 00 00 00 00 41 14 01 0f 00 ...........A....
4e 55 50 00 00 00 26 01 00 00 00 01 00 00 00 00 NUP...&.........
57 61 72 53 65 72 76 65 72 49 66 50 4f 41 00 50 WarServerIfPOA.P
65 72 73 69 73 74 65 6e 74 50 4f 41 00 00 00 00 ersistentPOA....
00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 08 47 65 74 4e 61 6d 65 00 00 00 00 02 ....GetName.....
00 00 00 01 00 00 00 0c 00 00 00 00 00 01 00 01 ................
00 01 01 09 4e 45 4f 00 00 00 00 02 00 0a 00 00 ....NEO.........
TAO (3464|3468) - GIOP_Message_Base::dump_msg, send GIOP v1.2 msg, 28 data
bytes, my endian, Type Reply[12]
GIOP message - HEXDUMP 40 bytes
47 49 4f 50 01 02 01 01 1c 00 00 00 0c 00 00 00 GIOP............
00 00 00 00 00 00 00 00 0c 00 00 00 53 00 79 00 ............S.y.
73 00 74 00 65 00 6d 00 s.t.e.m.
TAO (3464|3468) - IIOP_Transport::send_message_shared,
enable_network_priority = 0
TAO (3464|3468) - Transport[1324]::cleanup_queue, byte_count = 40
TAO (3464|3468) - Transport[1324]::cleanup_queue, after transfer, bc = 0,
all_sent = 1, ml = 0
TAO (3464|3468) - Transport[1324]::drain_queue_helper, byte_count = 40,
head_is_empty = 1
TAO (3464|3468) - Transport[1324]::drain_queue_i, helper retval = 1
TAO (3464|3468) Connection_Handler[1324]::handle_input, handle = 1324/1324,
refcount = 2, retval = 0
TAO (3464|3468) - ORB_Core::run, handle_events() returns 1
TAO (3464|3468) - ORB_Core::run, calling handle_events()
Jarle
| Quote: | Regards,
Phil
Jarle Aase wrote:
Hi,
I'm developing a server in C++ that use TAO 1.4.3. The client use Sun
j2sdk 1.4.2. When the client calls a simple method on the server that
returns a wstring, the string appears as nonprintable characters in the
Sun netbeans debugger. According to the documentation, both corba
implementations use UTF-16 as default wstring format. When I look at the
debug-output from TAO, it seems to send the correct string to the client.
My best guess is that they use different byte ordering.
I've done some googling, and it appears that there are some known issues
with Sun's corba implementation, and wstrings. Is there a reasonable
simple way to make this work (without breaking compatibility with clients
that use other corba implementations)?
Jarle
|
--
Jarle Aase http://www.jgaa.com
mailto:jgaa (AT) jgaa (DOT) com
<<< no need to argue - just kill'em all! >>>
|
|
| Back to top |
|
 |
Douglas C. Schmidt Guest
|
Posted: Fri Feb 04, 2005 1:37 pm Post subject: Re: Sun j2sdk, tao and wstring. |
|
|
Hi,
| Quote: | Hi Jarle,
The most recent (CVS) version of TAO contains a fix that should address
your problem.
|
Thanks very much for your email. Please make sure to send all
questions related to TAO or ACE to the ACE mailing list or ACE+TAO
newsgroup, rather than to comp.object.corba. See
http://www.cs.wustl.edu/~schmidt/TAO-mail.html
for more info on how to access these resources.
| Quote: | I tried to donload it, but I'm unable to compile ACE. I'm using Windows XP
and MSVC 6. The cvs version has no build-files for VC, and there is
probably something missing in the ones I built with "mwc.pl -type vc6
ace.mvc"
|
ACE should build "out of the box" on Windows XP and MSVC 6. To ensure
that we have proper version/platform/compiler information, please make
sure you fill out the appropriate problem report form (PRF), which is
in
$ACE_ROOT/PROBLEM-REPORT-FORM
$TAO_ROOT/PROBLEM-REPORT-FORM
Make sure to include this information when asking any questions about
ACE+TAO since otherwise we have to "guess" what
version/platform/compiler/options you've using, which is
error-prone and slows down our responsiveness.
| Quote: | I tried to download and build TAO from the latest source there (ACE
5.3a_pl-OCI and TAO 1.3a_p1-OCI). The problem persists.
|
The OCI versions don't contain the fix - you'll need to get TAO 1.4.3.
Thanks,
Doug
--
Dr. Douglas C. Schmidt, Professor TEL: (615) 343-8197
Electrical Engineering and Computer Science FAX: (615) 343-7440
Vanderbilt University WEB: www.cs.wustl.edu/~schmidt/
Nashville, TN 37203 NET: [email]d.schmidt (AT) vanderbilt (DOT) edu[/email]
--
Dr. Douglas C. Schmidt, Professor TEL: (615) 343-8197
Electrical Engineering and Computer Science FAX: (615) 343-7440
Vanderbilt University WEB: www.cs.wustl.edu/~schmidt/
Nashville, TN 37203 NET: [email]d.schmidt (AT) vanderbilt (DOT) edu[/email]
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|