Ayuda

Rodrigo Javier Tobar Carrizo rtobar en csrg.inf.utfsm.cl
Vie Jun 12 16:12:41 CLT 2009


Norman Saez wrote:
> miguel ortiz wrote:
>> Hola.
>> Una vez más necesito su ayuda para aprender a desarrollar un cliente, 
>> esta vez se trata de un cliente java que se conecta a un componente 
>> c++, quería saber si tienen algún ejemplo o tutorial al respecto.
>> De antemano se agradece su ayuda.
>> Saludos.
>>
>> Miguel Ortiz Cortes
>>   
> Hola Miguel,
> El codigo que te enviaron esta el ejemplo llamado DataBaseClient.java
> Tu solo te preocupas de llamar al cliente en C++ con algo similar a:
> 
> dataBase_comp =           
> alma.DATABASE_MODULE.DataBaseHelper.narrow(getContainerServices().getDefaultComponent("IDL:alma/DATABASE_MODULE/DataBase:1.0"));
> 
> donde dice : IDL:alma/DATABASE_MODULE/DataBase:1.0 ---> alli deberia ir 
> la idl c++

Y a su vez el objeto que uses en el cliente debe ser del tipo de la IDL. 
Ademas, puedes hacer primero una peticion del objeto remoto, para luego 
"castearlo". Entremedio puedes hacer verificaciones (si el objeto es 
nulo o cosas por el estilo, o encasillar todo en un try/catch). En el 
caso anterior quedaria algo asi:


    String _IDL_INTERFACE = "IDL:alma/DATABASE_MODULE/DataBase:1.0";

    org.omg.CORBA.Object obj;
    alma.DATABASE_MODULE.DataBase dataBase_comp;

    try {
       obj = getContainerServices().getDefaultComponent(_IDL_INTERFACE);
       dataBase_comp = alma.DATABASE_MODULE.DataBaseHelper.narrow(obj);
    } catch(AcsJContainerServicesEx e) {
       /* ... */
    }


Saludos!
-- 
Rodrigo Tobar Carrizo        http://csrg.inf.utfsm.cl/~rtobar
ALMA-UTFSM Technical Leader  +56 9 78073439
Linux User #399271


Más información sobre la lista de distribución ACS-es