Archiv para Julio, 2015

Error 0x80040211 () en envío mails

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (1 votos, promedio: 3,00 de 5)
Cargando…
Escrito por René Roca el . Posteado en Consultoria, Tecnica, X++

Cuando trabajamos con varios AOS en Dynamics AX 2012, y utilizamos el envío de mails, nos podemos encontrar en la situación que desde un AOS nos funcione el envío perfectamente, pero desde otro AOS nos muestre el siguiente mensaje de error:

error_mail

Este error se produce, porque Dynamics Ax guarda el password del usuario de correo electrónico por AOS, si  vemos el método password de la tabla SysEmailParameters podemos ver como para recuperar el password busca por ID de AOS en la tabla SysEmailSMTPPassword

static SMTPPassword password()
{
    CryptoBlob cryptoBlob = connull();
    SysEmailSMTPPassword SMTPPassword;
 
    AOSId AOSId;
    AOSInstanceId AOSInstanceId;
 
    ;
    [AOSId,AOSInstanceId] = SysEmailSMTPPassword::currentAOSInstance();
 
    SMTPPassword = SysEmailSMTPPassword::find(AOSId,AOSInstanceId);
 
    if (SMTPPassword.RecId != 0)
        cryptoBlob = SMTPPassword.Password;
 
    if (cryptoBlob != connull())
        return cryptoblob2str(WinapiServer::cryptUnProtectData(cryptoBlob));
    else
        return '';
}

Si examinamos la tabla SysEmailSMTPPassword, tendríamos que tener una entrada para cada AOS, para ello tendremos que informar la contraseña en los parámetros de correo electrónico conectandonos a cada uno de los AOS que tenga nuestra instalación.
Si tenéis alguna duda de como conectaros a un AOS concreto, podemos ver como se hace en el siguiente artículo.

Conectarse a un AOS

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en Consultoria, Tecnica

Cada vez las instalaciones de Dynamics AX son más complejas y con más usuarios, es por ello que en muchas de ellas se trabaja con mas de una AOS.
Si por alguna razón queremos conectarnos a un AOS en concreto podemos utilizar la siguiente sentencia:

ax32.exe -loadbalance=0 -aos2=axline@nombre_del_aos

Por ejemplo si tenemos un AOS que se llama PRODAOS1 y nos queremos conectar a él, y tenemos instalado el cliente en la ruta estandar ejecutaremos la siguiente sentencia:

"C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\Ax32.exe" -loadbalance=0 -aos2=axline@PRODAOS1