AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 09.09.2008, 10:55   #1  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Join Date: 01.06.2004
AxaptaCOMConnector, Axapta4, метод Logon
Подскажите что ему нужно передать в параметре objectServer ?

AxaptaCOMConnector.Axapta3Class.Logon(Object company, Object language, Object objectServer, Object configuration)

При передаче пустой строки или Null Logon не проходит
Old 09.09.2008, 12:26   #2  
Eldar9x is offline
Eldar9x
MCTS
Eldar9x's Avatar
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Join Date: 29.09.2006
Location: Казань
Пробовал как-то соединяться из самописного приложения на с++ - может поможет. Все работало и данные нормально выводились прямо на консоль. Вот кусок кода:
X++:
	cout << "Init Axapta..." << endl;
	CAxInterface axapta;

	if (!axapta.Create())
		return 0;

	cout << "Logon..." << endl;	
	if (!axapta.Logon(L"", L"", L"cl_ax40_sp02fp00_test@DELTA:27461", L"")){
		cout << "Logon error" << endl;
		return 0;					
	}
3-й параметр брал из файла настройки ярлыка запуска аксапты - то что в папке Axc лежит.

Last edited by Eldar9x; 09.09.2008 at 18:21.
Old 09.09.2008, 12:49   #3  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Join Date: 01.06.2004
Quote:
3-й параметр брал из файла настройки ярлыка запуска аксапты - то что в папке Axc лежит
... поподробнее, откуда вы его взяли?

я собственно могу сделать логин из Visual Basic если опущу 3-й параметр

Set axapta = New AxaptaCOMConnector.Axapta3
axapta.Logon companyName, "", , configName - вот так работает

но у меня проблема, я хочу сделать вызов из кода С#, из IIS
Axapta = new AxaptaCOMConnector.Axapta3();
Axapta.Logon(companyName, "", "", configName); - не работет
Old 09.09.2008, 12:58   #4  
Eldar9x is offline
Eldar9x
MCTS
Eldar9x's Avatar
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Join Date: 29.09.2006
Location: Казань
На сервере (там же, где приложение лежит) в папке Clients\Axc лежат файлы *.ini. У нас ax настроен таким образом, что запускается с ярлыков, которые находятся так же на сервере. Каждому ярлыку соответствует свой файл.
Хотя у вас может быть все по другому.
В любом случае, видимо этот параметр должен иметь вид <имя_приложения>@<сервер_приложения>:порт.

Ну вот, в c# тоже все работает:
X++:
try
            {
                Axapta3 axapta = new AxaptaCOMConnector.Axapta3();

                axapta.Logon("", "", "cl_ax40_sp02fp01_dev@DELTA:27461", "");

                MessageBox.Show("Succesful");
            }
            catch
            {
                MessageBox.Show("error");
            }

Last edited by Eldar9x; 09.09.2008 at 18:21.
Old 09.09.2008, 13:12   #5  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Join Date: 09.11.2006
Location: Краснодарский край
Quote:
Originally Posted by igorian View Post
...но у меня проблема, я хочу сделать вызов из кода С#, из IIS...
Я могу ошибаться, но вроде на C# не так просто вызов COM объектов делается? Коннектор от 3 .NET напрямую не поддерживет.
Old 09.09.2008, 13:45   #6  
Eldar9x is offline
Eldar9x
MCTS
Eldar9x's Avatar
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Join Date: 29.09.2006
Location: Казань
Quote:
Я могу ошибаться, но вроде на C# не так просто вызов COM объектов делается? Коннектор от 3 .NET напрямую не поддерживет.
так обращение идет к сборке, а не к COM объекту, и версия аксапты 4.
Old 09.09.2008, 13:59   #7  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Join Date: 01.06.2004
Quote:
cl_ax40_sp02fp01_dev
это вы откуда взяли - из конф. утилиты списали?
Old 09.09.2008, 14:03   #8  
Eldar9x is offline
Eldar9x
MCTS
Eldar9x's Avatar
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Join Date: 29.09.2006
Location: Казань
это название приложения, запустите аксапту обычным образом, в которую хотите залогинится. В заголовке главного окна будет название приложения.
Old 09.09.2008, 15:41   #9  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Join Date: 01.06.2004
Чего-то не работает... ((((((((
на всякий случай а
Quote:
DELTA
это у вас что?
а где вы узнали что именно так нужно 3-й параметр формировать?
Old 09.09.2008, 17:51   #10  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Join Date: 01.06.2004
вообще - может дело в чем-то другом? в настройках прав в IIS?
почему совершенно идентичный вызов из VB работает а из С# не работает.. ?
Old 09.09.2008, 18:13   #11  
Eldar9x is offline
Eldar9x
MCTS
Eldar9x's Avatar
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Join Date: 29.09.2006
Location: Казань
Ну если, вы можете залогиниться обычным образом, то и через коннектор должно работать. Delta - имя сервера приложения (имя компьютера)
Порт, кстати, не тот. Нужен - 27461
Quote:
а где вы узнали что именно так нужно 3-й параметр формировать?
посмотрел в *ini файле. Вы бы лучше код свой показали, как содиняетесь?

Last edited by Eldar9x; 09.09.2008 at 18:22.
Old 09.09.2008, 18:49   #12  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Join Date: 01.06.2004
Axapta = new AxaptaCOMConnector.Axapta3();
Axapta.Logon(companyName, language, objectServerName, configName);

собственно вот..
Old 09.09.2008, 19:19   #13  
Eldar9x is offline
Eldar9x
MCTS
Eldar9x's Avatar
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Join Date: 29.09.2006
Location: Казань
ну так а значения параметров companyName, language, objectservername, configname чему равны?
Old 10.09.2008, 10:59   #14  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Join Date: 01.06.2004
из бейсика получилось вызвать как вы написали 3-й параметр "приложение@сервер:порт"

а вот IIS такую ошибку пишет

System.Runtime.InteropServices.COMException (0x80041011): The server is unavailable. Microsoft Dynamics will try to connect to other servers in your configuration. at AxaptaCOMConnector.Axapta3Class.Logon(Object company, Object language, Object objectServer, Object configuration) at AxXMLService.isAuthorised(String username) in c:\Inetpub\wwwroot\AxXMLCargoConnector2\App_Code\AxXMLService.cs:line 96
Old 10.09.2008, 11:10   #15  
Eldar9x is offline
Eldar9x
MCTS
Eldar9x's Avatar
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Join Date: 29.09.2006
Location: Казань
а IIS и приложение на одном сервере?
Old 10.09.2008, 11:12   #16  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Join Date: 01.06.2004
на разных
Old 10.09.2008, 12:12   #17  
Eldar9x is offline
Eldar9x
MCTS
Eldar9x's Avatar
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Join Date: 29.09.2006
Location: Казань
а проект - ASP.NET Web Service (c#)?
Old 11.09.2008, 16:05   #18  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Join Date: 01.06.2004
Собственно, получилось, спасибо Eldar9x -
Помогло указание objectServer как вы сказали,
плюс настройка прав IIS потребовалась (Application Pool там есть такие)
Old 16.09.2008, 15:28   #19  
Eldar9x is offline
Eldar9x
MCTS
Eldar9x's Avatar
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Join Date: 29.09.2006
Location: Казань
оказалось, что приложение не обязательно указывать, т.е.
cl_ax40_sp02fp01_dev@DELTA:27461
равносильно
blabla@DELTA:27461
или DELTA:27461, что есть наиболее правильный вариант,
причем @DELTA:27461 уже не пройдет.
Главное - IP и порт.

Last edited by Eldar9x; 16.09.2008 at 15:33.
Tags
ax4.0

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Как вызвать метод для поля в FormDataSource? Maxim Gorbunov DAX: Программирование 3 08.05.2007 11:28
Дисплей метод таблицы который вызывается из ГРИДА 3oppo DAX: Программирование 10 23.05.2006 06:47
Как вызвать нужный метод класса? Pawlik DAX: Программирование 5 12.01.2006 15:47
display метод с параметром Андре DAX: Программирование 5 11.01.2006 19:04
Передача массива VARIANTов в Automation метод Maximin DAX: Программирование 0 09.10.2002 19:31

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 10:21.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.