Axapta 3.0 SP4.
Вопрос пограничный: про Аксапту и сторонние программы.
Есть приложение на C#.
Приложение состоит из двух частей.
Клиентская часть приложения делает запрос серверной части на Аксаптовские данные.
Серверная часть с помощью Axapta COM Connector забирает эти данные и передаёт клиенту.
Изначально серверная часть была реализована как Console Application.
Всё достаточно четко работало.
Но при попытке реализовать серверную часть как службу Windows возникли проблемы.
Служба создаётся, запускается, но в момент вызова метода сервера на клиенте
(для получения данных сервера клиентом используется .NET Remoting и web-сервисы)
появляется сообщение:
"**** System.Runtime.Remoting.RemotingException - Server encountered an internal error.
For more information, turn on customErrors in the server's .config file"
Если подключится к серверному процессу в режиме отладки, то момент вылетания в catch определяется в следующем коде:
X++:
ax = new AxaptaCOMConnector.Axapta2Class();
IDictionary login=(IDictionary)ConfigurationSettings.GetConfig("AxCOMConnectorLogin");
try
{
ax.Logon2(login["Login"],login["Password"],"","","","",login["AxConfiguration"],false,null,null);
}
catch(Exception err)
{
Console.WriteLine(err.Message+login["Login"]+login["Password"]);
}
Текст сообщения об ошибке на сервере (err.Message):
"QueryInterface for interface AxaptaCOMConnector.IAxapta2 failed"
Вопрос: знает ли кто-нибудь об особенностях использования Axapta COM Connector в службах Windows?
Есть ли какие-то ограничения?
И вообще, можно ли делать вызовы COM Connector'a в службах Windows?
Повторюсь: если серверная часть реализована как Console Application, то клиент получает запрашиваемые им данные.