Показать сообщение отдельно
Старый 30.08.2022, 17:39   #28  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
То ли лыжи не едут то ли я не спортсмен.

Решил подобным образом связать две ax2012R3
Не работает.
Выдает ошибку при logon / logonAs

В 2009-й работает на ура. И на клиенте и на сервере.
А в 2012-й не хочет.
Это я что-то не так делаю или что-то в 12-ке поменяли?

Причем если использовать бизнесконнектор из консольного приложения или из вебсервиса написанного на .net то все работает. А из под аксапты не хочет ни в какую.

Пример джоба работающего на 2009 но не работающего в 12-ке (логины и пароли конечно надо свои подставить.)

X++:
static void Job1465_2_out(Args _args)
{
    Microsoft.Dynamics.BusinessConnectorNet.Axapta axapta;
    str                             serverStr;
    System.Net.NetworkCredential    credential;
    str         clientLogin;
    str         clientPassword;
    str         clientNetworkDomain;
    ;

    new InteropPermission(InteropKind::ClrInterop).assert();

    try
    {
        axapta = new Microsoft.Dynamics.BusinessConnectorNet.Axapta();

        if (axapta)
        {
            serverStr = "SERVERNAME:2712"; // test
            // clientLogin = "ProxyUser"; // empty for use Logon else LogonAs
            clientPassword = "xxx";
            clientNetworkDomain = "yourDomen";

            if (clientLogin)
            {
                credential = new System.Net.NetworkCredential(
                    clientLogin,
                    clientPassword,
                    clientNetworkDomain
                    );

                axapta.LogonAs(  // тут выскакивает исключение в 12-ке
                    clientLogin,          // username
                    clientNetworkDomain,  // domain
                    credential,           // proxyUserNetworkCredential
                    '',                   // company
                    '',                   // language
                    serverStr,            // objectServer
                    '');                  // configuration
            }
            else
            {
               axapta.Logon('', '', serverStr, ''); // тут выскакивает исключение в 12-ке
            }

            axapta.Logoff();
        }
    }
    catch (Exception::CLRError)
    {
        error(AifUtil::getClrErrorMessage());
    }
    catch (Exception::Internal)
    {
        error(AifUtil::getClrErrorMessage());
    }

    exceptionTextFallThrough();
}

Последний раз редактировалось Logger; 30.08.2022 в 17:53.