void ClientInterceptor::send_request ( PortableInterceptor::ClientRequestInfo_ptr ri) { std::cout << "Calling send_request()." << std::endl; IOP::ServiceContext sc; sc.context_id = service_ctx_id; const char user_name[] = "Ron Klein"; std::cout << "User's Name: " << user_name << std::endl; CORBA::ULong string_len = sizeof (user_name) + 1; CORBA::Octet *buf = 0; buf = new CORBA::Octet [string_len]; ACE_OS::strcpy (reinterpret_cast<char*> (buf), user_name); sc.context_data.replace (string_len, string_len, buf, 1); // recursive call setup CORBA::Any *recurse = ri->get_slot(slot); CORBA::Long x; *recurse >>= x; CORBA::Any flag; if (x == 0) { flag <<= 1; pic->set_slot(slot, flag); // get server time std::cout << "Server Time = " << messenger->get_time() << std::endl; } // Add this context to the service context list. ri->add_request_service_context (sc, 0); // reset recursion test flag <<= 0; pic->set_slot(slot,flag); }