То ли лыжи не едут то ли я не спортсмен.
Решил подобным образом связать две 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();
}