r.add_in_arg().insert_long(2);
r.add_inout_arg().insert_short((short) 3);
r.add_inout_arg().insert_string("[string 4]");
r.add_out_arg().type(orb.get_primitive_tc(TCKind.tk_double));
NVList para = r.arguments();
try
{
assertEquals("octet", para.item(0).value().extract_octet(), 0);
assertEquals("long (in parameter)",
para.item(1).value().extract_long(), 2
);
assertEquals("short", para.item(2).value().extract_short(), 3);
assertEquals("string", para.item(3).value().extract_string(),
"[string 4]"
);
}
catch (Exception ex)
{
fail("Unexpected " + ex.getClass().getName() + ":" + ex.getMessage());
}
// For the last parameter, the value is not set.
r.set_return_type(orb.get_primitive_tc(TCKind.tk_long));
r.invoke();
assertEquals("Returned value", r.result().value().extract_long(), 452572);
para = r.arguments();
try
{
assertEquals("octet", para.item(0).value().extract_octet(), 1);
assertEquals("long (in parameter)",
para.item(1).value().extract_long(), 2
);
assertEquals("short", para.item(2).value().extract_short(), 4);
assertEquals("string", para.item(3).value().extract_string(),
"[string 4] [return]"
);
assertEquals("double", para.item(4).value().extract_double(), 1.0,
Double.MIN_VALUE
);
}
catch (Exception ex)
{