24.03.2011, 17:03 | #1 |
Гость
|
Проблема с созданием экземпляра com-объекта на сервере
Добрый день,
AX2009 интегрирую с внешней системой. Внешняя система предоставляет com-объект для манипуляций с ней, в AX2009 запилил класс для запуска в пакетном режиме, который будет периодически обменивается данными с внешней системой посредством использования экземпляра данного com-объекта. Для начала сделал по-старинке: класс клиентский, пакетный сервер запускается в отдельной клиентской сессии. Все работает. Можно переводить и на серверный вариант, чтобы не париться с клиентской сессией. Поставил RunOn = Server. Метод new подпилил так: X++: void new() { InteropPermission p; ; super(); p = new InteropPermission(InteropKind::ComInterop); p.assert(); storageConnector = new COM("Cleverence.Warehouse.StorageConnector"); // storageConnector = new COM("CDO.Message"); // для проверки создаются ли другие объекты CodeAccessPermission::revertAssert(); } Цитата:
COM-объект класса "Cleverence.Warehouse.StorageConnector" не удалось создать. Убедитесь, что объект был должным образом зарегистрирован на компьютере "AOS-DEV-01V".
На указанном AOS установлен также и клиент. Открываю его. Ставлю у класса RunOn = Client - запускается. Ставлю у класса RunOn = Server - указанная выше ошибка. Под доменным админом то же самое. Другие объекты типа CDO.Message или ADODB.Recordset создаются нормально при любом значении RunOn. Если кто в состоянии, подскажите, пожалуйста, в каком направлении копать. |
|
|
За это сообщение автора поблагодарили: Ace of Database (3), AlexSt (1). |
Теги |
64-bit, com connector, com+ |
|
|