AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.01.2014, 13:41   #1  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Быстродействие метода logon в AxaptaComConnector.Axapta3
Здравствуйте.

Долго отрабатывает авторизация Ax2009 из vbs-скрипта при использовании Com Connector'а(секунд 7-10).

Ниже код скрипта:
Цитата:
Dim Axapta
Dim result

Set Axapta = CreateObject("AxaptaComConnector.Axapta3")
Axapta.Logon "", "", "objectServer", ""
result = Axapta.callStaticClassMethod("MyClass", "MyMethod", "parameter1", "parameter2")

Axapta.logoff
set Axapta = nothing
Из параметров передаю только имя aos. Авторизация проходит, метод возвращает результат, но долго.

Подскажите, в чем может быть причина медленной авторизации и можно ли ускорить работу авторизации в данном случае?

При использовании Net BusinessConnectora метод logonAs отрабатывает гораздо быстрее, но в данном случае необходимо использовать AxaptaComConnector.

P.S.
1. Пробовал использовать logonAs для AxaptaComConnector - результат такой же.
2. Пробовал указывать все параметры - быстродействие не улучшилось.
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 29.01.2014 в 13:47.
Старый 29.01.2014, 14:50   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Сталкивались с такой проблемой еще в 3-ке.
Делали COM как виндовую com+ службу. Он в этом случае не сразу разлогинивается. Поэтому тормозов нет при частых последовательных вызовах. Аналогично на 2009-ю переехали. Вроде без проблем.
За это сообщение автора поблагодарили: samolalex (2).
Старый 29.01.2014, 14:57   #3  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Если зарегистрировать как Com+ при первом вызове Logon отрабатывает секунды за 3-4, все последующие практически мгновенно. В настройках COM+ application можно прописать время простоя после которого объект сам выгружается из памяти.
За это сообщение автора поблагодарили: Logger (1), samolalex (2).
Старый 29.01.2014, 17:02   #4  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Спасибо, за идею.

Сейчас попробовал:
1) Создал COM+ Application
2) Добавил в качестве компонента библиотеку AxCom.dll
3) Приложение сделал серверным
4) Запустил как службу

Получил ошибку "The server is unavailable. Microsoft Dynamics will try to connect to other servers in your configuration"

Если создать Com+ как библиотечное приложение, то logon отрабатывает так же медленно.

Может есть какая-то ошибка в вышеизложенной последовательности действий или не все учтено в настройках?
__________________
С уважением, Александр.
Старый 29.01.2014, 19:35   #5  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Может неправильно зарегистрировался, ниже скриншот пример.
А вот неплохое описание по настройке: http://floditt.blogspot.ru/2010/06/i...connector.html
Изображения
 

Последний раз редактировалось handy-comp; 29.01.2014 в 19:48.
За это сообщение автора поблагодарили: Logger (3), gl00mie (3).
Старый 30.01.2014, 15:41   #6  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Спасибо за отличную инструкцию.

Все настроено аналогичным образом. Но тем не менее, проблема сохранилась.
Вот некоторые уточнения, которые может быть являются причиной медленной работы logon:
1) COM+ Application для Axapta Com Connector установлен на сервере;
2) Скрипт запускается с клиенткой "машины";
3) Логин, под которым запущено COM+ приложение и соответствующая ему служба отличается от того, под которым запускается скрипт.
__________________
С уважением, Александр.
Старый 30.01.2014, 18:33   #7  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Удаленный вызов коннектора не пробовал.
А если запускать скрипт на том же компьютере где установлен коннектор, работает нормально?
Старый 30.01.2014, 18:51   #8  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Если запускать скрипт на том же компьютере, где установлен коннектор, то выдается ошибка (см. вложенный скриншот).
Изображения
Тип файла: bmp error.bmp (293.6 Кб, 897 просмотров)
__________________
С уважением, Александр.
Старый 30.01.2014, 20:05   #9  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Для локализации проблемы можно сделать так:
Создать конфигурационный файл axc и убедиться что клиент Ax нормально с ним запускается на этом сервере. Указать ссылку на этот файл в параметрах Logon или LogonAs, при этом другие параметры не указывать.
Если появятся ошибки связанные с идентификацией, попробовать варианты добавить в параметры имя пользователя и домен, попробовать указать в настройках COM+ доменного пользователя у которого заведомо есть права.
Помогает еще посмотреть в Events Log - Application, коннектор там оставляет полезные сообщения.
Старый 30.01.2014, 22:16   #10  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
handy-comp, спасибо за советы - очень помогли.
В итоге получилось следующее: на сервере с ОС Windows Server 2003 и настроенным COM+ Application удалось локально запустить скрипт с моментальной отработкой logon.
В данном случае помог перезапуск службы COM Connectora.

А вот если настроить COM+ Application на клиентской машине c Windows XP, выдает вышеуказанную ошибку. Если удалить COM+ Application в этом случае, то скрипт работает, но, как и говорилось в самом начале, очень медленно.
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 30.01.2014 в 22:18.
Старый 30.01.2014, 22:30   #11  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Удалось победить)

На локальной машине настраивать COM+ службу для COM Connectora не нужно, достаточно это сделать на сервере.
Для быстрой отработки logon с клиенткой машины из vbs-скрипта необходимо в качестве второго параметра в методе CreateObject указать имя машины, на которой настроена COM+ служба. Таким образом, logon отрабатывает моментально.

Пример vbs-скрипта:
Цитата:
Dim Axapta
Dim result

Set Axapta = CreateObject("AxaptaComConnector.Axapta3", "MyServer")
Axapta.Logon "", "", "", ""
result = Axapta.callStaticClassMethod("MyClass", "MyMethod", "parameter1", "parameter2")

Axapta.logoff
set Axapta = nothing
Всем большое спасибо за потраченное время и внимание.
Тему можно считать закрытой.
__________________
С уважением, Александр.
За это сообщение автора поблагодарили: Logger (3), Ace of Database (3), lev (8), alex55 (1).
Теги
business connector, com connector, com+

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Странное поведение метода last в источнике данных формы Vasiliusis DAX: Программирование 23 14.02.2013 13:56
axinthefield: Logon Dialog Box when Launching a Reporting Services Report from AX. Blog bot DAX Blogs 0 06.05.2011 21:11
gatesasbait: Something to check if the Dynamics Ax 4 client throws the "failed to logon to axapta" error Blog bot DAX Blogs 0 08.09.2008 19:05
Проблема вызова метода доступа (Enum'ы!) Zoe DAX: Программирование 4 14.04.2008 23:48
X++ иногда не контролирует тип результата метода Logger DAX: Программирование 2 03.03.2005 18:28
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:14.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.