Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#85 fail to dyn.load Any containing struct with complex contents

open
nobody
5
2010-04-28
2010-04-28
fgrt
No

I have to provide the contents of various CORBA Any via IIOP.net but encounter failures if
- the typecode of the embedded structure is not known (e.g. via IDL2CLSMapper)
- the embedded structure contains more complex data structures like sequences of structs and aliases of those.

The failure shows as exception omg.org.CORBA.NO_IMPLEMENT [0] , completed: Completed_MayBe minor: 941 (see complete stack trace at stacktrace.txt).
The OMG typecode seems to be resolved correctly as outlined in the attached jpeg. The .NET type build up has only the type name and namespace of the embedding structure itself and the name of an embedded sequence but without further contents. Deserialization process seems to search for a repository id for the first inner field (GetActualType, Serialzer.cs) but is retrieving a repId of value 0 causing the exception.

As the source code in StructTC.CreateType reveals a comment \"// layout-sequential causes problem, if member of array type is not fully defined (TypeLoadException) -> use autolayout instead\" and thereafter skipping the type attribute \'SequentialLayout\' I fear that this might be a known limitation though I am unaware of any official statement. On the other hand I tried to trick the library by extending the field of type attributes for each (inner) field but ran into the same problem above.

Please tell us if this is a known limitation or a bug and if it is to be fixed. If it is not to be fixed we would like to know if it is fixable at all and greatly appreciate any hints how to do it on our own.

Kind regards
Frank

Discussion

  • fgrt
    fgrt
    2010-04-28

    stacktrace, OMG type code visualization, some iiop source code