}
public void test_tpcall_x_c_type() throws Exception {
log.info("JABFactoryTestCase::test_tpcall_x_c_type");
runServer.tpadvertisetpcallXCType();
JABConnectionFactory factory = new JABConnectionFactory("test");
JABConnection connection = factory.getConnection("connection");
// Assemble the message ByteArrayOutputStream baos = new
JABBuffer toSend = new JABBuffer();
toSend.setValue("acct_no", 12345678l);
toSend.setArrayValue("name", "TOM".getBytes());
float[] foo = new float[2];
foo[0] = 1.1F;
foo[1] = 2.2F;
toSend.setArrayValue("foo", foo);
double[] balances = new double[2];
balances[0] = 1.1;
balances[1] = 2.2;
toSend.setArrayValue("balances", balances);
Transaction transaction = connection.beginTransaction(10000);
JABResponse call = connection.call(
RunServer.getServiceNametpcallXCType(), toSend, transaction,
"X_C_TYPE", "acct_info");
transaction.commit();
byte[] expected = new byte[60];
System.arraycopy("tpcall_x_c_type".getBytes(), 0, expected, 0, 15);
byte[] received = call.getByteArray("X_OCTET");
assertTrue(Arrays.equals(expected, received));
factory.closeConnection("connection");
}