[omniORB] Sequence of valuetype

Björn Hagemeier bjoernh at uni-paderborn.de
Wed Jan 18 17:39:40 GMT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Duncan Grisby wrote:
> On Wednesday 18 January, =?ISO-8859-1?Q?Bj=F6rn_Hagemeier?= wrote:
> 
> [...]
> 
>>The server causes a BAD_PARAM_ValueFactoryFailure exception in
>>valueType.cc:630. omniValueType::handleIncompatibleValue is called from
>>AbstractAction::_NP_unmarshal, which means the server could not
>>interpret the value (an ExecuteTask) as an AbstractAction, although the
>>former is derived from the latter.
> 
> 
> What you're trying to do should work. The exception from
> handleIncompatibleValue means that the valuefactory you registered for
> the ExecuteTask returned a value that could not be downcast to
> AbstractAction. That could be because there's something wrong with your
> valuefactory, or it could be a bug in omniORB. Can you post a complete
> minimal example that exhibits the problem?
> 
> Something you can try is to create an ExecuteTask using the valuefactory
> that is registered for it, then try to _downcast it to AbstractAction
> yourself. Does that work?
> 
> Cheers,
> 
> Duncan.
> 

Hi Duncan,

I've tried to remodel my problem and pushed it to the point, where the
ValueFactoryFailure occurs. You can download the example from the
location below and compile it running make.

http://homepages.upb.de/bjha/vt_problem.tar.gz (1.8k)

I marked the working and non-working alternatives in client.c++. As far
as I can see, the alternatives should not behave differently, but they
do. Considering the inheritance graph of the valuetypes the example that
does not work only adds one more level of inheritance. That seems to
fail the unmarshalling for some reason. Maybe you have an idea.

I also tried to follow your suggestion to create the ExecuteTask from
it's valuefactory and _downcast it to AbstractAction. It's in the code
as well, I hope it's the way you meant it. This worked, but why does it
make a difference?


Thanks for your help,

Björn

- --
+----------------------------+-----------------------------------------+
| Björn Hagemeier            | Tel:               +49 (5251)  87 12 69 |
| Otto-Wels-Str. 34          | Mobil:             +49 ( 173) 878 48 77 |
|                            | E-Mail:        bjoernh at uni-paderborn.de |
|                            | Homepage:            www.b-hagemeier.de |
| 33102 Paderborn            | ICQ:                          464 20 23 |
+----------------------------+-----------------------------------------+
| PGP-Key:          1A967704                                           |
| Key Fingerprint:  5FF6 973A 46FC DB6C E9AF  A324 DE2E A874 1A96 7704 |
+----------------------------------------------------------------------+
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDzm9L3i6odBqWdwQRAngcAJ497y96wb+TaXm29NOA68MLTBgGLgCfd1+/
x1dl+gwcRM/vUOXG/UiriQ4=
=es95
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bjoernh.vcf
Type: text/x-vcard
Size: 299 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20060118/e2c413fc/bjoernh.vcf


More information about the omniORB-list mailing list