|  09.09.2008, 10:55 | #1 | 
| Участник | AxaptaCOMConnector, Axapta4, метод Logon 
			
			Подскажите что ему нужно передать в параметре objectServer ? AxaptaCOMConnector.Axapta3Class.Logon(Object company, Object language, Object objectServer, Object configuration) При передаче пустой строки или Null Logon не проходит | 
|  | 
|  09.09.2008, 12:26 | #2 | 
| MCTS | 
			
			Пробовал как-то соединяться из самописного приложения на с++ - может поможет. Все работало и данные нормально выводились прямо на консоль. Вот кусок кода: 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; } Последний раз редактировалось Eldar9x; 09.09.2008 в 18:21. | 
|  | 
|  09.09.2008, 12:49 | #3 | 
| Участник | Цитата: 
		
			3-й параметр брал из файла настройки ярлыка запуска аксапты - то что в папке Axc лежит
		
	 я собственно могу сделать логин из Visual Basic если опущу 3-й параметр Set axapta = New AxaptaCOMConnector.Axapta3 axapta.Logon companyName, "", , configName - вот так работает но у меня проблема, я хочу сделать вызов из кода С#, из IIS Axapta = new AxaptaCOMConnector.Axapta3(); Axapta.Logon(companyName, "", "", configName); - не работет | 
|  | 
|  09.09.2008, 12:58 | #4 | 
| MCTS | 
			
			На сервере (там же, где приложение лежит) в папке 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"); } Последний раз редактировалось Eldar9x; 09.09.2008 в 18:21. | 
|  | 
|  09.09.2008, 13:12 | #5 | 
| Участник | |
|  | 
|  09.09.2008, 13:45 | #6 | 
| MCTS | Цитата: 
		
			Я могу ошибаться, но вроде на C# не так просто вызов COM объектов делается? Коннектор от 3 .NET напрямую не поддерживет.
		
	 | 
|  | 
|  09.09.2008, 13:59 | #7 | 
| Участник | Цитата: 
		
			cl_ax40_sp02fp01_dev
		
	 | 
|  | 
|  09.09.2008, 14:03 | #8 | 
| MCTS | 
			
			это название приложения, запустите аксапту обычным образом, в которую хотите залогинится. В заголовке главного окна будет название приложения.
		 | 
|  | 
|  09.09.2008, 15:41 | #9 | 
| Участник | 
			
			Чего-то не работает... (((((((( на всякий случай а Цитата: 
		
			DELTA
		
	 а где вы узнали что именно так нужно 3-й параметр формировать? | 
|  | 
|  09.09.2008, 17:51 | #10 | 
| Участник | 
			
			вообще - может дело в чем-то другом? в настройках прав в IIS? почему совершенно идентичный вызов из VB работает а из С# не работает.. ? | 
|  | 
|  09.09.2008, 18:13 | #11 | 
| MCTS | 
			
			Ну если, вы можете залогиниться обычным образом, то и через коннектор должно работать. Delta - имя сервера приложения (имя компьютера) Порт, кстати, не тот. Нужен - 27461 Цитата: 
		
			а где вы узнали что именно так нужно 3-й параметр формировать?
		
	 Последний раз редактировалось Eldar9x; 09.09.2008 в 18:22. | 
|  | 
|  09.09.2008, 18:49 | #12 | 
| Участник | 
			
			Axapta = new AxaptaCOMConnector.Axapta3(); Axapta.Logon(companyName, language, objectServerName, configName); собственно вот.. | 
|  | 
|  09.09.2008, 19:19 | #13 | 
| MCTS | 
			
			ну так а значения параметров companyName, language, objectservername, configname чему равны?
		 | 
|  | 
|  10.09.2008, 10:59 | #14 | 
| Участник | 
			
			из бейсика получилось вызвать как вы написали 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 | 
|  | 
|  10.09.2008, 11:10 | #15 | 
| MCTS | 
			
			а IIS и приложение на одном сервере?
		 | 
|  | 
|  10.09.2008, 11:12 | #16 | 
| Участник | 
			
			на разных
		 | 
|  | 
|  10.09.2008, 12:12 | #17 | 
| MCTS | 
			
			а проект - ASP.NET Web Service (c#)?
		 | 
|  | 
|  11.09.2008, 16:05 | #18 | 
| Участник | 
			
			Собственно, получилось, спасибо Eldar9x -  Помогло указание objectServer как вы сказали, плюс настройка прав IIS потребовалась (Application Pool там есть такие) | 
|  | 
|  16.09.2008, 15:28 | #19 | 
| MCTS | 
			
			оказалось, что приложение не обязательно указывать, т.е. cl_ax40_sp02fp01_dev@DELTA:27461 равносильно blabla@DELTA:27461 или DELTA:27461, что есть наиболее правильный вариант, причем @DELTA:27461 уже не пройдет. Главное - IP и порт. Последний раз редактировалось Eldar9x; 16.09.2008 в 15:33. | 
|  |