"Грабли" j-Interop: Access is denied

classic Classic list List threaded Threaded
7 messages Options
man2000 man2000
Reply | Threaded
Open this post in threaded view
|

"Грабли" j-Interop: Access is denied

This post was updated on .
Windows Vista Ent. x64 sp2
SDK Java SE 1.6

Настройки реестра для DllSurrogate (..\1cv81\bin\comcntr.dll) по методу "Hard way", после чего в настройках DCOM "Службы компонентов" появился "1CV81 Application DllSurrogate".
"1CV81 COM Connector" в качестве приложения COM+ на localhost (создан через "Службу компонентов" Винды для компонента ..\1cv81\bin\comcntr.dll, все настройки по умолчанию)
Подключение к localhost от имени меня, т.е. доменного пользователя с админскими правами на этом хосте.
По запросам Брэндмауэра Винды давал команду на разблокирование всего, что он спрашивал (руками ничего не добавлял).

Я не знаю (от слова "совсем") все "тонкости" реализации системы безопасности Винды и как реализован вход пользователя на удалённый хост DCOM в J-Interop, НО после нескольких дней "борьбы" с подключением к "V81.COMConnector" с помощью j-Interop  исключение "Access is denied" было ПОБЕЖДЕНО весьма странным способом:
1. "Мильён" попыток подключиться к localhost - Access is denied !
2. Попытка подключиться к хосту из другого домена - Access is denied !
3. Попытка подключиться к localhost - OK !

Т.е. именно после неудачной попытки подключения к другому домену заработала связь с localhost !!!

Кто-нибудь объяснит такие "чудеса" ?
IgorKonovalov IgorKonovalov
Reply | Threaded
Open this post in threaded view
|

Re: "Грабли" j-Interop: Access is denied

С доменами там есть заморочка, пока еще проблема в стадии "руки не доходят". (Возможно с Вашей помощью доведем). А если от локального пользователя системы подключаться?
OCTitbit developer.
man2000 man2000
Reply | Threaded
Open this post in threaded view
|

Re: "Грабли" j-Interop: Access is denied

В том-то и дело, что сначала я пытался "достучаться" до COM-сервера как локальный пользователь хоста с админскими правами - толку никакого не добился. Только потом уже с доменной учётной записью, сначала на localhost, потом на другой хост, где работает COM-сервер 1С и куда другие клиенты "ходят" без проблем. Не получилось, вернулся на localhost и ВУА-ЛЯ !!!
IgorKonovalov IgorKonovalov
Reply | Threaded
Open this post in threaded view
|

Re: "Грабли" j-Interop: Access is denied

Надо помониторить эту проблему. Может сама 1Ска глючила, HASP-ы там или что-то в этом роде.
OCTitbit developer.
IgorKonovalov IgorKonovalov
Reply | Threaded
Open this post in threaded view
|

Re: "Грабли" j-Interop: Access is denied

... держите в курсе, так сказать
OCTitbit developer.
man2000 man2000
Reply | Threaded
Open this post in threaded view
|

Re: "Грабли" j-Interop: Access is denied

In reply to this post by IgorKonovalov
А причём тут 1С ?
Я всего лишь делал:

JISession session = JISession.createSession("localhost","LocalAdmin","LocalPassword");
JIComServer comServer = new JIComServer(JIProgId.valueOf("V81.COMConnector"),"127.0.0.1",session);
IJIComObject comObject = comServer.createInstance();
System.out.println("comObject="+comObject.toString());
comObject.release();
JISession.destroySession(session);

Кстати, теперь и с локальной учёткой коннектится без проблем. ;-)
IgorKonovalov IgorKonovalov
Reply | Threaded
Open this post in threaded view
|

Re: "Грабли" j-Interop: Access is denied

В данном коде не при чем. Это да. Аналогично и сама библиотека стучится к COMConnector-у.
OCTitbit developer.