[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | ObjectBroker Development - BEA Systems' CORBA |
Notice: | See note 2 for kit locations; note 4 for training |
Moderator: | RECV::GUMBEL d |
|
Created: | Thu Dec 27 1990 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 2482 |
Total number of notes: | 13057 |
2440.0. "CORBA_Context_set_one_value on NT v3.51?" by STKAI1::T_ANDERSSON (Tomas Andersson) Wed Feb 19 1997 09:17
I have a question dealing with attributes of context objects.
With OBB v2.6-07 on Intel/NT v3.51, it seems that a single
CORBA_Context_set_one_value call has no effect. It is necessary
to make the call twice, the second call being an exact copy of
the first, or the change won't "stick". This problem does not
occur on VAX/VMS.
The following code might help illustrate the problem:
************************************************
int ISTORB_C_contextCreate( /* CORBA_Context *defCtxObj,*/
char *in_ObjectServerId,
char *in_repository,
char *in_defaultNodes,
char *in_Environment)
{
CORBA_Environment ev;
char *tmpElem;
CORBA_Context tmpCtxObj;
CORBA_NVList aList, getList;
int noOfElem;
int i = 1;
/* Get a context object handle */
CORBA_ORB_get_default_context(CORBA_DEC_ORB_OBJECT, &ev, &tmpCtxObj);
if (ev._major != CORBA_NO_EXCEPTION) {reportExcep(&ev);
return(FALSE);}
/* Set ObjectServerId */
CORBA_Context_set_one_value(tmpCtxObj, &ev,
"OBB_DEFAULT_TABLE.ObjectServerId", in_ObjectServerId);
if (ev._major != CORBA_NO_EXCEPTION) {reportExcep(&ev);
return(FALSE);}
/* Did the set work? */
CORBA_Context_get_values(tmpCtxObj, &ev, NULL, (CORBA_Flags)0,
"OBB_DEFAULT_TABLE.ObjectServerId", &getList);
if(ev._major != CORBA_NO_EXCEPTION) {ISTORB_C_reportExcep(&ev);}
else printf("objId <%s>\n", getList[0].argument._value);
/* Set ObjectServerId again */
CORBA_Context_set_one_value(tmpCtxObj, &ev,
"OBB_DEFAULT_TABLE.ObjectServerId", in_ObjectServerId);
if (ev._major != CORBA_NO_EXCEPTION) {reportExcep(&ev);
return(FALSE);}
/* Did the set work the second time? */
CORBA_Context_get_values(tmpCtxObj, &ev, NULL, (CORBA_Flags)0,
"OBB_DEFAULT_TABLE.ObjectServerId", &getList);
if(ev._major != CORBA_NO_EXCEPTION) {ISTORB_C_reportExcep(&ev);}
else printf("objId <%s>\n", getList[0].argument._value);
************************************************
System exception encountered: CORBA_UNKNOWN
OBB_CTX_ATTRNOTFND (e), Context property `ObjectServerId' not found.
objId <7aecdef6a512.0c.0d.54.00.00.00.00.00>
************************************************
Is this a bug, or are we doing something wrong again?
Regards,
- Tomas A -
T.R | Title | User | Personal Name | Date | Lines |
---|
2440.1 | | REQUE::BOWER | Peter Bower, ObjectBroker | Mon Feb 24 1997 20:58 | 6 |
|
You might want to try it on V2.7. We replaced on disk context
default context objects with in-memory context objects. If I get
a chance, I will try it out on NT, but you might get to it
before I do.
|
2440.2 | V2.7 on NT4 is OK | STKAI1::T_ANDERSSON | Tomas Andersson | Wed Mar 05 1997 02:54 | 7 |
|
I tried it with OBB v2.7-11 on NT v4.0, and it seems to work all right.
Thanks.
- Tomas A -
|