Orber

Niclas Eklund nick@REDACTED
Thu May 4 13:18:55 CEST 2000


Hi!

The problem is that JacORB adds the tag profile 'TAG_MULTIPLE_COMPONENTS',
i.e., {'IOP_TaggedProfile',1,[0,0,0,0,0,0,0,0]}.
Orber did not ignore unrecognized TaggedProfiles before, which have been
updated in Orber-3.0.3. Since JacORB add this to the IOR you get the
exception you mentioned.

How to fix it:

In iop_ior.erl change:

decode_profile(_, #'IOP_TaggedProfile'{tag=1, profile_data=ProfileData}) ->
    %exit({'decode_profile_data', 'multiple components not supported'}).
    corba:raise(#'NO_IMPLEMENT'{}).
 
to:

decode_profile(_, #'IOP_TaggedProfile'{tag=N, profile_data=ProfileData}) ->
    #'IOP_TaggedProfile'{tag=N, profile_data=ProfileData};
decode_profile(_, _) ->
    corba:raise(#'INV_OBJREF'{completion_status=?COMPLETED_NO}).


change (in iop_ior.erl):

code_profile_datas(_, [#'IOP_TaggedProfile'{tag=1, profile_data=P} | Profiles]) ->
        exit({'code_profile_datas', 'multiple components not supported'}).
 
to:

code_profile_datas(Version, [#'IOP_TaggedProfile'{tag=N, profile_data=P} |  Profiles]) ->
        [#'IOP_TaggedProfile'{tag=N, profile_data=P} | code_profile_datas(Version, Profiles)];
code_profile_datas(_, _) ->
    corba:raise(#'INV_OBJREF'{completion_status=?COMPLETED_NO}).

/Nick

On Thu, 4 May 2000, =?ISO-8859-1?Q?Bj=F6rn Wingman?= wrote:

> JacORB IOR:
> 
> IOR:000000000000001949444c3a68656c69312f48656c695365727665723a312e3000000000000000030000000000000036000100000000000f3133302e3233362e3137362e35370000ac45000000000016333337323130393731312f000f493514360c4a0116320000000000000000003c000101000000000f3133302e3233362e3137362e35370000ac45000000000016333337323130393731312f000f493514360c4a01163200000000000000000001000000080000000000000000

The IOR above decoded:

{'IOP_IOR',"IDL:heli1/HeliServer:1.0",
           [{'IOP_TaggedProfile',0,
                                 {'IIOP_ProfileBody_1_0',
                                     {'IIOP_Version',1,0},
                                     "130.236.176.57",
                                     44101,
                                     [51,
                                      51,
                                      55,
                                      50,
                                      49,
                                      48,
                                      57,
                                      55,
                                      49,
                                      49,
                                      47,
                                      0,
                                      15,
                                      73|...]}},
            {'IOP_TaggedProfile',0,
                                 {'IIOP_ProfileBody_1_1',
                                     {'IIOP_Version',1,1},
                                     "130.236.176.57",
                                     44101,
                                     [51,
                                      51,
                                      55,
                                      50,
                                      49,
                                      48,
                                      57,
                                      55,
                                      49,
                                      49,
                                      47,
                                      0,
                                      15|...],
                                     []}},
            {'IOP_TaggedProfile',1,[0,0,0,0,0,0,0,0]}]}



> 
> Erlang IOR (from the
> http://wikie.vegetable.org/get?node=orber+quickstart example files):
> 
> IOR:000000000000001d49444c3a6d617468732f416464416e644d756c7469706c793a312e300000000000000001000000000000007c000100000000001462616b65642e766567657461626c652e6f7267000fa10000000000584f524245523a49444c3a6d617468732f416464416e644d756c7469706c793a312e303a6b65793a836802680362000003ac620007759b620008215b64000c6164646d756c4062616b65643a83640009756e646566696e6564
> 
> 
> They do not describe the same object, but the erlang one goes through
> corba:string_to_object ok, the other gives the error I quoted in the
> previous mail.
> 
> 	/Björn Wingman
> 

_____________________________________________________________
Niclas Eklund, Ericsson Network Core Products, +46-8-72 75765






More information about the erlang-questions mailing list