Нам нужно импортировать библиотеку SSJS в базу данных, используя DXL. Для этого мы написали Java-агент, и его код выглядит примерно так:
import lotus.domino.*;
public class JavaAgent extends AgentBase {
private DxlImporter importer = null;
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
String filename = "C:\\tempssjslib.xml";
Stream stream = session.createStream();
if (stream.open(filename) & (stream.getBytes() > 0)) {
Database importdb = session.getCurrentDatabase();
importer = session.createDxlImporter();
importer.setReplaceDbProperties(true);
importer.setReplicaRequiredForReplaceOrUpdate(false);
importer.setAclImportOption(DxlImporter.DXLIMPORTOPTION_REPLACE_ELSE_IGNORE);
importer.setDesignImportOption(DxlImporter.DXLIMPORTOPTION_REPLACE_ELSE_CREATE);
importer.importDxl(stream, importdb);
}
} catch (Exception e) {
e.printStackTrace();
}
finally {
try {
System.out.println(importer.getLog());
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Файл C: \ tempssjslib.xml содержит библиотеку SSJS, которую я создал в Domino Designer, а затем экспортировал с помощью «Инструменты> Утилиты DXL> Экспортер» (для целей тестирования). Но когда я запускаю эту библиотеку агентов, не импортируется в базу данных. Также нет ошибки в DxlImporter.getLog()
.
Я пробовал аналогичную процедуру с XPages, Form, библиотекой скриптов LotusScript и успешно смог их импортировать. Но тот же агент не может импортировать библиотеку SSJS.
Есть что-то, что я пропустил в коде? Можем ли мы импортировать библиотеку SSJS в базу данных, используя DXL?