Открытие Lotus-документа из окна, открытого Java-агентом

  • Автор темы dmMusic
  • Дата начала
D

dmMusic

Гость
#1
Вопрос может будет очень простой, но я везде искал - нигде не нашел ответа.

Задача такая - есть агент JAVA в Базе. Глобальна задача из этого агента открыть Лотусовый документ в этой базе.

Если вызывать лотусового агента из текущей базы, и говорить ему agent.Run, то возникает ошибка: Object has been removed or recycled

Поэтому у меня вопрос. Есть ли в JAVA в Лотусовых классах аналог NotesUIWorkspace, чтобы открыть документ?
Второй вопрос - если нет аналога, как открыть URL ссылку например вида "Notes://Server/C325788D003C3E41/6232D750371AEE8BC3257842003AAFF2/519D1EC4135DD348C325788700495676"
 
D

dmMusic

Гость
#3
аналога нет

можете детальней описать задачу

В Лотусе по кнопке вызывается JAVA агент, который отрисовывает Блок Схему этапов Бизнес Процессов. Если нажать на картинку этапа, должен или Отрабатывать Лотусовый агент, который открывает Документ или сразу как от открыть документ в Лотусе
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#4
Если нажать на картинку этапа, должен или Отрабатывать Лотусовый агент, который открывает Документ или сразу как от открыть документ в Лотусе
Открыть Java-агентом документ не получится, в нём нет лотусовы уи-объектов, только если самому в свинге нарисовать. Попробуйте вызвать дог- или лс-агента с указанием NoteID документа.
 
D

dmMusic

Гость
#5
Открыть Java-агентом документ не получится, в нём нет лотусовы уи-объектов, только если самому в свинге нарисовать. Попробуйте вызвать дог- или лс-агента с указанием NoteID документа.

При вызове Лотусового агента почему то возникает ошибка "Object has been removed or recycled"

В Конструкторе класса

db = doc.getParentDatabase();

В обработчике

agent=db.getAgent("(OpenVisaParam)");
agent.run(currentObj.getNoteID());

После этой строки возникает ошибка. Агент в Базе с таким именем есть

Добавлено:
При вызове Лотусового агента почему то возникает ошибка "Object has been removed or recycled"

В Конструкторе класса

db = doc.getParentDatabase();

В обработчике

agent=db.getAgent("(OpenVisaParam)");
agent.run(currentObj.getNoteID());

После этой строки возникает ошибка. Агент в Базе с таким именем есть


Все понял. Он почему то теряет в обработчике Объект, который описан в классе и инициализирован. Если получить объект базы перед вызовом агента, то все срабатывает.

Правда теперь почему то виснет Лотус - но с этим буду разбираться. Всем спасибо
 

erdi

Well-Known Member
20.08.2008
265
36
35
Краснодар
#6
Правда теперь почему то виснет Лотус - но с этим буду разбираться. Всем спасибо

во-во...у меня тоже такая фигня происходит при вызове из явы лотусового агента...причем не всегда и не у всех пользователей
причину этого явления я так и не смог отловить
 
D

dmMusic

Гость
#7
Правда теперь почему то виснет Лотус - но с этим буду разбираться. Всем спасибо

во-во...у меня тоже такая фигня происходит при вызове из явы лотусового агента...причем не всегда и не у всех пользователей
причину этого явления я так и не смог отловить

А можешь написать код, которым ты сессию создаешь и получаешь Базу и Агента
 

erdi

Well-Known Member
20.08.2008
265
36
35
Краснодар
#8
глянь в этой базе этот вызов http://codeby.net/forum/threads/26903.html
я его использую у себя(переделанным под оракл+некоторые проверки на пустоту), но проблемы с зависанием клиента периодически возникают....причина - мне пока неизвестна...причем именно падает лотус на вызове агента LS из под Java(видимо неспроста в java ui непредусмотрено)
 

erdi

Well-Known Member
20.08.2008
265
36
35
Краснодар
#10
и так и так бывает....нет постоянства....причем на клиентах 8.5 чаще падает(зависает) чем на 7