TAO implrepo and erlang

Niclas Eklund nick@REDACTED
Mon Sep 25 09:40:55 CEST 2000


> When I try to talk to the TAO orb implementation repository (as a
> client) from erlang, I get an exception at a late stage (I think) of
> the call. For example:
> 
> corba:string_to_object("corbaloc:iiop:localhost:42915/fooserver)
> 
> will return this exception:
> 
> {'EXCEPTION',{'MARSHAL',[],104,'COMPLETED_MAYBE'}}]},
> 
> on a call to cdr_decode:dec_type(tk_objref, {1,0},
> <binary removed by bjowi>,
> 24, big)
> 
> ... or perhaps it's the orber_iiop_outrequest:handle_cast(reply |...)
>  that crashes.

Hello!

It seems like the TAO orb replied with a 'location_forward' which cause
cdr_decode:dec_type to be invoked, but not with the correct arguments. To
avoid this exception update dec_reply/5 'location_forward' case to use:

{R, _, _} = dec_objref(Version, Rest, Len, ByteOrder),

instead of:

{R, _, _} = dec_type('tk_objref', Version, Rest, Len, ByteOrder),
                   
now no exception should be raised.

/Nick






More information about the erlang-questions mailing list