Ошибка при входе в axapta "Microsoft.Dynamics.BusinessConnectorNet.LogonFailedException"
У меня есть проект веб-формы ASP.net, который подключается к axapta 2009 через версию файла Business Connector (5.0.1500.4570). Все было хорошо, пока вдруг у меня не возникла эта ошибка
'Microsoft.Dynamics.BusinessConnectorNet.LogonFailedException' occurred in ******.dataaccess.dll but was not handled in user code
at b2b.logosoft.com.tr.dataaccess.AxaptaConnectorHelper.AxaptaObject() in d:\Projects\B2B\b2b.logosoft.com.tr.site\b2b.logosoft.com.tr.dataaccess\AxaptaConnectorHelper.cs:line 29
at b2b.logosoft.com.tr.dataaccess.CurrencyDataAccess.GetCurrency(String fromcurrency, String tocurrency) in d:\Projects\B2B\b2b.logosoft.com.tr.site\b2b.logosoft.com.tr.dataaccess\CurrencyDataAccess.cs:line 14
at b2b.logosoft.com.tr.businessmanager.CurrencyService.GetCurrencyRate(String fromcurrency, String tocurrency) in d:\Projects\B2B\b2b.logosoft.com.tr.site\b2b.logosoft.com.tr.businessmanager\CurrencyService.cs:line 17
at b2b.logosoft.com.tr.businessmanager.CurrencyService.GetRates() in d:\Projects\B2B\b2b.logosoft.com.tr.site\b2b.logosoft.com.tr.businessmanager\CurrencyService.cs:line 80
at b2b.logosoft.com.tr.site.UserControls.Header.Page_Load(Object sender, EventArgs e) in d:\Projects\B2B\b2b.logosoft.com.tr.site\b2b.logosoft.com.tr.site\UserControls\header.ascx.cs:line 34
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
Выход:
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-131200350151628806): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-131200350151628806): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-131200350151628806): Loaded 'C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_5094ca96bcb6b2bb\msvcm90.dll'. Cannot find or open the PDB file.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_5094ca96bcb6b2bb\msvcm90.dll'. Cannot find or open the PDB file.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\assembly\GAC_32\Microsoft.Dynamics.BusinessConnectorNet\5.0.0.0__31bf3856ad364e35\Microsoft.Dynamics.BusinessConnectorNet.dll'. Cannot find or open the PDB file.
A first chance exception of type 'Microsoft.Dynamics.BusinessConnectorNet.LogonFailedException' occurred in Microsoft.Dynamics.BusinessConnectorNet.dll
A first chance exception of type 'Microsoft.Dynamics.BusinessConnectorNet.LogonFailedException' occurred in b2b.logosoft.com.tr.dataaccess.dll
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll
A first chance exception of type 'Microsoft.Dynamics.BusinessConnectorNet.LogonFailedException' occurred in Microsoft.Dynamics.BusinessConnectorNet.dll
A first chance exception of type 'Microsoft.Dynamics.BusinessConnectorNet.LogonFailedException' occurred in b2b.logosoft.com.tr.dataaccess.dll
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-131200350151628806): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-131200350151628806): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.DebuggerVisualizers\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.DebuggerVisualizers.dll'. Cannot find or open the PDB file.
Вот класс помощника соединителя:
public class AxaptaConnectorHelper
{
#region Class Properties
public static Axapta Ax { get; set; }
public static string UserName { get { return AxaptaConnectionInfo.AxUserName; } }
public static string Password { get { return AxaptaConnectionInfo.AxPassword; } }
public static string Domain { get { return AxaptaConnectionInfo.AxDomain; } }
public static string Company { get { return AxaptaConnectionInfo.AxCompany; } }
public static string Aos { get { return AxaptaConnectionInfo.AxAos; } }
#endregion
public Axapta AxaptaObject()
{
try
{
var nc = new NetworkCredential(UserName, Password, Domain);
Ax = new Axapta();
Ax.LogonAs(UserName, Domain, nc, Company, "", Aos, "");
}
catch (Exception ex)
{
Ax = null;
throw ex;
}
return Ax;
}
}
Я пробовал следующее:
- Очистите решение и восстановите
- Удалите ссылку на бизнес-коннектор, а затем пересоберите
- Добавлена ссылка на бизнес-коннектор для всех проектов в моем решении
- Изменено свойство Build Platform Target на x86 для всех проектов
- Убрал папку Temp для проекта
Ничто, кажется, не решает проблему.
1 ответ
LogonFailedException
просто означает ваш objAX.Logon()
или же objAX.LogonAs()
провалился. Обычно это не имеет никакого отношения к папкам build или temp, но ваш код не может подключиться к AOS, используя ваше имя хоста / порт / конфигурацию или имя пользователя.
Вы не показываете фактический код вызова logon/logonas, но ваш код либо не находит AOS, либо не может войти в него, используя предоставленное вами имя пользователя / пароль или вашу учетную запись службы / выполнения.
Убедитесь, что служба запущена, вы можете подключиться к ней (т.е. без брандмауэра), и пользователь не отключен или не заблокирован в Active Directory, но все еще остается пользователем в AX.
Если подумать, AOS (может быть, часть кластера) может отклонять соединения, известные как дренаж