Error CLRObject

Hilo iniciado por Jose Miguel Robles el 22 de septiembre de 2010

Viendo 10 entradas - de la 1 a la 10 (de un total de 10)
  • Autor
    Entradas
  • #14050
    RangoJose Miguel Robles
    Jose Miguel Robles
    Participante
    APRENDIZ
    999 Rincoins

    Hola a tod@s,

     

    Actualmente tenemos una funcionalidad en el cliente pesado de Axapta que utiliza unas dlls referenciadas en el AOT. Dicha funcionalidad quiere trasladarse a Enterprise Portal y nos está dando algún problemilla que otro.

     

    Hemos usado una clase Proxy que consume una clase X++. Dentro del método X++ se hace referencia a las dlls en cuestión. En cuanto el código intenta crear una instancia de dicha dll da el siguiente error:

     

    Dynamics Object Adapter Call failed. No se pudo crear el objeto CLRObject.

     

    He intentado poner la propiedad called from a “server” pero ni con esas.

     

    Alguna idea?

     

    Muchas gracias!

    #14051
    RangoAntonio Gilabert
    Antonio Gilabert
    Participante
    MASTER
    137.929 Rincoins

    Mira a ver si te falta el ax32.exe.config en la carpeta Bin de cliente AX. Me suena que eso era un problema q faltaba algún archivito XXX.config se copiaba en la carpeta y funcionando.

    #14052
    RangoJavier Consuegra
    Javier Consuegra
    Participante
    PARTICIPANTE
    1.049 Rincoins

    Prueba a dejar los archivos a los q llamas (entiendo q las .dlls)en una carpeta en la q tengas permisos totales de administrador.

    #14053
    RangoJose Miguel Robles
    Jose Miguel Robles
    Participante
    APRENDIZ
    999 Rincoins

    Al final resulta que la dll que se estaba usando en las clases X++ no estaba firmada!!!! No me explico como AX te deja agregar una referencia sin firmar… en fin!
    Gracias a todos.

    Un saludo.

    #14054
    RangoAdolfo Castillo
    Adolfo Castillo
    Participante
    PARTICIPANTE
    1.250 Rincoins

    Ahora que recuerdo me paso algo similar al añadir un servicio web para consumir desde AX. Si no esta firmado, te deja agregarlo, pero al instanciarlos te da un error sin indicar que tipo de error es.

    #14055
    RangoJosé Antonio Estevan
    José Antonio Estevan
    Participante
    COLABORADOR
    12.848 Rincoins

    Los errores CLR los da siempre utilizando ese error genérico. Es un auténtico suplicio, me suena haber visto unas clases que modifican el infolog para “descifrar” esos errores y dar mas información al log de AX. Básicamente extraen el propio error que devuelve el framework, que es de bastante mas ayuda.

    A ver si la encuentro.

    Saludos!

    #14056
    RangoPedro Beltran
    Pedro Beltran
    Participante
    PARTICIPANTE
    1.049 Rincoins

    Estimado tengo una inquietud hay un web services que sirve de ejemplo para ser consumido por el ax si copio todo el codigo que dan funciona pero si pongo solo asi me da error del CLRObject

    static void Job(Args _args)
    {

        daeNetCurrencyService.CurrencyServerWebServiceSoapClient soapClient;
        ;

            new InteropPermission(InteropKind::ClrInterop).assert();
            soapClient = new daeNetCurrencyService.CurrencyServerWebServiceSoapClient(“CurrencyServerWebServiceSoap”);
            soapClient.getCurrencyValue(‘4′,’4′,’4’);
       CodeAccessPermission::revertAssert();    // return the found currency conversion rate

    }

    Nesecito de su ayuda de la linea sombreada no paso.. Hay me da el error

    #14057
    RangoMiguel Talavera C.
    Miguel Talavera C.
    Participante
    APRENDIZ
    999 Rincoins

    Hola y como haces para firmar ese Web Service, agradeceria muchisimo tu respuesta

    #14058
    RangoFlorentino Panta
    Florentino Panta
    Participante
    PARTICIPANTE
    1.199 Rincoins

    No se entendio tu solución, creo que si deseas aportar al grupo deberías poder describir la solución que tomaste.

    #14059
    RangoJosé Antonio Estevan
    José Antonio Estevan
    Participante
    COLABORADOR
    12.848 Rincoins

    Es difícil saberlo sin tener mas datos. Incluye todo el código en un bloque try..catch con un catch como este:

        catch (Exception::CLRError)
        {
            error(AifUtil::getClrErrorMessage());
        }  

    eso debería dar más información, como explico aquí: http://www.jaestevan.com/errores-interop-clr-y-manejo-de-infolog-en…

    Saludos.

Viendo 10 entradas - de la 1 a la 10 (de un total de 10)
  • Debes estar registrado para responder a este debate.
Carrito de compra