У меня есть java-агент, который обрабатывает HTTP-запросы с помощью jsoup. Этот агент отлично работает, когда я запускаю его вручную с консоли сервера. но даст ошибку, когда я запустил ее на клиенте, (щелкните правой кнопкой мыши по агенту и запустите)Проблемы с Domino Agent при работе в Notes Client - отлично работает на сервере
- Агент имеет значение 2. Разрешить ограниченные операции и установить значение «Выбор меню действий» и «Целевое действие» «Все документы в базе данных»
- Я установил одинаковые параметры безопасности в файле java.policy как на сервере, так и на клиенте. Я также пытался запустить свой агент на сервере со стандартным файлом java.policy, и это тоже работало, поэтому проблема не связана с файлом java.policy.
Это ошибка я получаю в консоли отладки Java при запуске агента в примечаниях клиента (v9.0.1)
java.lang.NullPointerException
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:727)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:654)
at COM.ibm.JEmpower.applet.http.HttpURLConnection.getInputStream(HttpURLConnection.java:411)
at COM.ibm.JEmpower.applet.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:703)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:399)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:453)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:434)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:181)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:170)
at JavaAgent.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
это настройки java.policy я использую в моем клиенте Notes (и на некоторых серверах)
grant { permission java.util.PropertyPermission "http.keepAlive", "read, write"; };
grant { permission java.security.AllPermission; }
Вот код агента
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Database db = session.getCurrentDatabase();
lotus.domino.Document d = db.getView("inbox").getFirstDocument();
String url = d.getItemValueString("Subject");
Document x = Jsoup.connect(url).userAgent("Mozilla").get();
Elements p = x.select("p");
RichTextItem rt = (RichTextItem) d.getFirstItem("Body");
rt.appendText(p.text());
d.replaceItemValue("Processed", "1");
d.save();
} catch(Exception e) {
e.printStackTrace();
}
} }
Как я могу заставить агента запускать свой локальный клиент Notes?
Я знаю, что не все библиотеки, которые находятся на сервере, доступны от клиента. Мой взлом webservice с XPages работает с сервера, но не с клиентом. –
Можете ли вы проверить, соответствует ли ответ (используя .method и .response вместо .get()). Похоже, что у него нет действительного ответа, в то время как у него есть код ответа. Иногда это проблема прокси, она возвращает 302 и не отвечает (вы за прокси?) –
благодарит Сердара, в моей сети нет прокси. Я не уверен, как получить ответ, все, что я получаю. [email protected] –