В библиотеке Java метод класса lotus.domino.Session createDateTime () генерирует исключение NullPointerException - PullRequest
0 голосов
/ 28 сентября 2018

Файл Java в папке библиотеки Java Domino Designer (не агент Java в папке агентов) при вызове из XPage SSJS вызовет исключение NullPointerException для стандартных методов, таких как createDateTime():

import java.io.*;
import java.net.*;
import java.security.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.faces.context.FacesContext;
import javax.net.ssl.HttpsURLConnection;
import com.ibm.commons.util.io.base64.Base64;
import lotus.domino.*;

public class Tools extends AgentBase  {

  ...

  public void getSession( ) throws IOException {

    Session s   = getSession();
    DateTime dt = s.createDateTime("Today");    // NullPointerException
    String n    = s.getEffectiveUserName();     // NullPointerException

    ...

  }

}

Есликод Java сохраняется как агент Java, после чего исключение не выдается.

Есть ли другой способ установить поле NotesDateTime с «Сейчас» в Java без использования метода session.createDateTime ()?

Расширена ли AgentBase или есть другое расширение, которое можно использовать при использовании библиотеки Java (не агента)?

Какие существуют другие способы создания lotus.domino.Session, которые могут помочь?

ОБНОВЛЕНИЕ: В plugin.xml я добавил com.ibm.xsp.extlib как Зависимость и класс Java скомпилирован без ошибок.

Свойства XPages , библиотека Xpage для создания страниц com.ibm.xsp.extlib.library проверено.

С консоли сервера скажи http osgi ss com.ibm.xsp.extlib возвращает:

> tell http osgi ss com.ibm.xsp.extlib
osgi> "Framework is launched."
id  State       Bundle
114 RESOLVED    com.ibm.xsp.extlib.controls.nl1_9.0.1.v10_00_20180115-1058
                Master=117
115 RESOLVED    com.ibm.xsp.extlib.controls.nl2_9.0.1.v10_00_20180115-1058
                Master=117
116 RESOLVED    com.ibm.xsp.extlib.controls.nl3_9.0.1.v10_00_20180115-1058
                Master=117
117 STARTING    com.ibm.xsp.extlib.controls_9.0.1.v10_00_20180115-1058
                Fragments=116, 115, 114
118 RESOLVED    com.ibm.xsp.extlib.core.nl1_9.0.1.v10_00_20180115-1058
                Master=121
119 RESOLVED    com.ibm.xsp.extlib.core.nl2_9.0.1.v10_00_20180115-1058
                Master=121
120 RESOLVED    com.ibm.xsp.extlib.core.nl3_9.0.1.v10_00_20180115-1058
                Master=121
121 STARTING    com.ibm.xsp.extlib.core_9.0.1.v10_00_20180115-1058
                Fragments=119, 118, 120
122 RESOLVED    com.ibm.xsp.extlib.domino.nl1_9.0.1.v10_00_20180115-1058
                Master=125
123 RESOLVED    com.ibm.xsp.extlib.domino.nl2_9.0.1.v10_00_20180115-1058
                Master=125
124 RESOLVED    com.ibm.xsp.extlib.domino.nl3_9.0.1.v10_00_20180115-1058
                Master=125
125 STARTING    com.ibm.xsp.extlib.domino_9.0.1.v10_00_20180115-1058
                Fragments=123, 124, 122
126 RESOLVED    com.ibm.xsp.extlib.mobile.nl1_9.0.1.v10_00_20180115-1058
                Master=129
127 RESOLVED    com.ibm.xsp.extlib.mobile.nl2_9.0.1.v10_00_20180115-1058
                Master=129
128 RESOLVED    com.ibm.xsp.extlib.mobile.nl3_9.0.1.v10_00_20180115-1058
                Master=129
129 STARTING    com.ibm.xsp.extlib.mobile_9.0.1.v10_00_20180115-1058
                Fragments=127, 128, 126
130 RESOLVED    com.ibm.xsp.extlib.oneui.nl1_9.0.1.v10_00_20180115-1058
                Master=133
131 RESOLVED    com.ibm.xsp.extlib.oneui.nl2_9.0.1.v10_00_20180115-1058
                Master=133
132 RESOLVED    com.ibm.xsp.extlib.oneui.nl3_9.0.1.v10_00_20180115-1058
                Master=133
133 STARTING    com.ibm.xsp.extlib.oneui_9.0.1.v10_00_20180115-1058
                Fragments=132, 130, 131
134 RESOLVED    com.ibm.xsp.extlib.relational.nl1_9.0.1.v10_00_20180115-1058
                Master=137
135 RESOLVED    com.ibm.xsp.extlib.relational.nl2_9.0.1.v10_00_20180115-1058
                Master=137
136 RESOLVED    com.ibm.xsp.extlib.relational.nl3_9.0.1.v10_00_20180115-1058
                Master=137
137 STARTING    com.ibm.xsp.extlib.relational_9.0.1.v10_00_20180115-1058
                Fragments=135, 136, 134
138 STARTING    com.ibm.xsp.extlib_9.0.1.v10_00_20180115-1058

Обратите внимание, что в журнале написано STARTING com.ibm.xsp.extlib_9.0.1.v10_00_20180115-1058

Что это значитимею в виду?Я также добавил файл updatesite.nsf на сервер и обновил файл Notes.ini с помощью OSGI_HTTP_DYNAMIC_BUNDLES = install \ update-site.nsf .

При запуске HTTP сообщение отсутствует.что OSGI загружается во время выполнения.

Ошибка, возникающая при попытке установить сеанс:

NoClassDefFoundError: com / ibm / xsp / extlib / util / ExtLibUtil

Разве этот класс уже не включен в сервер Domino 9.0.1FP10?

1 Ответ

0 голосов
/ 28 сентября 2018

Получить сеанс с

Session s = ExtLibUtil.getCurrentSession();

Тогда будут работать ваши последующие строки кода.

public class Tools  {
  ...
  public void yourMethod() {
    Session s   = ExtLibUtil.getCurrentSession();
    DateTime dt = s.createDateTime("Today");
    String n    = s.getEffectiveUserName();
    ...
  }
}

Используемая вами функция getSession() работает только для агентов Java.

Не забудьте включить библиотеку расширений в ваш проект:

enter image description here

...