Hi,
At least I see one problem, you cannot "return p"; you must
char* inter2::getName( ... )
{
    ...
    return CORBA::string_dup(p);
}
You can refer to omniORB 'echo' example.
>> server:
>>
>> char * inter2::getName( prova::inter_ptr obj )
>> {
>>  char *p=obj->name();
>>
>>  cout<<p<<endl
>>
>> return p;
>> }