I think it is because by default omniORB wants to see ASCII data for strings. Try changing your IDL to this
interface SecretMessage
{
typedef sequence<octet> OctetSequence;
string send_file(in string file_name, in OctetSequence file_obj);
};
You can keep your Python client code the same because in the IDL to Python mapping, octet sequences map to Python strings.