[omniORB] Invalid TypeCode..
Shawn Bisgrove
shawn_bisgrove@yahoo.com
Tue, 25 Apr 2000 06:11:41 -0700 (PDT)
Guys,
Version OmniORB: 3.0 Apr 20
Solaris 2.6
I have a problem that I am stumped on and have not
been able to verify where the problem resides. I am
working with an IDL to "go" against a black box system
running ORBIX 3.0.1. The system requires the passage
of a DAG with nodes having a attribute_name and value.
The value is of type ANY. For one structure I pass
in the system's DAG validator tells me that the node
does not contain the appropriate type
GIAS::AlterationSpec. After verifying that I had
initialized the node correctly, I have been talking
with an individual on the other systems development
team. He thinks that it might be a typecode mangling
problem.
Just as an aside, when I use JDK 1.3 idlj and send a
GIAS::AlterationSpec (using a similiar program) within
the DAG to this black box, everything works OK.
My next check would be to code a simple server
interface using OmniORB 3.0 (Apr 20) and use a java
client to verify that OmniORB can extract the
GIAS::AlterationSpec correctly.
I usually like to narrow down the problem to a line of
code before I ship it out to you guys, but I cant seem
to do any better than this at the moment. Here is the
structure definition for a GIAS::AlterationSpec as it
exists for both systems.
= gias.idl ===========================================
#ifndef _GIAS_IDL_
#define _GIAS_IDL_
#include "ucos.idl"
module GIAS
{
typedef UCO::Rectangle GeoRegion;
typedef string ProductFormat;
typedef string ImageFormat;
typedef string Compression;
typedef short BitsPerPixel;
typedef sequence<short> RsetList;
typedef string Algorithm;
struct ImageSpec{
ImageFormat ift;
Compression comp;
BitsPerPixel bpp;
RsetList rsl;
GeoRegion gr;
Algorithm algo;
};
typedef sequence<ImageSpec> ImageSpecList;
struct AlterationSpec{
ProductFormat pf;
ImageSpecList isl;
};
};
#endif //_GIAS_IDL_
=====================================================
= ucos.idl ==========================================
#ifndef _UCOS_IDL_
#define _UCOS_IDL_
module UCO
{
// Basic Geospatial data types
//3D integer coordinate
struct LongCoord
{
long x;
long y;
long z;
};
// 3D floating point coordinate
struct DoubleCoord
{
double x;
double y;
double z;
};
enum CoordinateType
{
TYPEDOUBLE, TYPELONG
};
union Coordinate switch (CoordinateType)
{
case TYPEDOUBLE:
DoubleCoord d_coord;
case TYPELONG:
LongCoord l_coord;
};
struct Rectangle
{
Coordinate ul;
Coordinate lr;
};
}; // End of module UCO
#endif // _UCOS_IDL_
====================================================
Any ideas??
s.
=====
________________________________________
|shawn_bisgrove@partech.com
|http://www.geocities.com/shawn_bisgrove
__________________________________________________
Do You Yahoo!?
Send online invitations with Yahoo! Invites.
http://invites.yahoo.com