erdi
Green Team
- 20.08.2008
- 264
- 17
Есть Java агент, который по REST API создает POST запрос.
Данный агент успешно работал, но вот в моменте с переводом времени и обновления jvm, соответственно сервер с 8.5.5 обновился до 8.5.6, агент стал вываливаться с ошибкой "Router: Agent printing: Server redirected too many times (20)"
Причем что характерно, после перезагрузки сервера 1 раз агент работает корректно, но вот уже следующие запуски возвращают ошибку.
Были предположения на кодировку, т.к. при переходе на 8.5.6 в java по-умолчанию снова кодировка стала cp1251 вместо utf-8. Но выставления utf-8 в самом агенте не решает проблему.
Также были предположения на неправильные логин и пароль, но эта же ошибка при разных логинах и паролях и ведут они себя также(после перезагрузки сервера запускаются, после уже нет)
Агент не зависает. Сервера лотуса на AIX и SLES, под виндой нет сервером, поэтому не тестировалось. Логин и пароль доменного пользователя, сами сервера в домен заведены.
Может кто встречался с этой проблемой.
Java:
static class MyAuthenticator extends Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
System.out.println("trying to authenticate");
return new PasswordAuthentication("login", "password".toCharArray());
}
}
Authenticator.setDefault(new MyAuthenticator());
URL urlObj = new URL(url);
HttpURLConnection con = (HttpURLConnection) urlObj.openConnection();
System.out.println("Соединение с " + url + " установлено.");
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/xml");
con.setDoOutput(true);
OutputStream outputStream = con.getOutputStream();
// формирование xml документа
XMLOutputter xmlOutput = new XMLOutputter();
Format format = Format.getPrettyFormat();
xmlOutput = new XMLOutputter(format);
xmlOutput.output(doc, outputStream);
System.out.println("Получение ответа от сервера..");
StringBuffer result = new StringBuffer();
BufferedReader rd = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
result.append(line).append("\n");
}
respCode = con.getResponseCode();
Данный агент успешно работал, но вот в моменте с переводом времени и обновления jvm, соответственно сервер с 8.5.5 обновился до 8.5.6, агент стал вываливаться с ошибкой "Router: Agent printing: Server redirected too many times (20)"
Причем что характерно, после перезагрузки сервера 1 раз агент работает корректно, но вот уже следующие запуски возвращают ошибку.
Были предположения на кодировку, т.к. при переходе на 8.5.6 в java по-умолчанию снова кодировка стала cp1251 вместо utf-8. Но выставления utf-8 в самом агенте не решает проблему.
Также были предположения на неправильные логин и пароль, но эта же ошибка при разных логинах и паролях и ведут они себя также(после перезагрузки сервера запускаются, после уже нет)
Агент не зависает. Сервера лотуса на AIX и SLES, под виндой нет сервером, поэтому не тестировалось. Логин и пароль доменного пользователя, сами сервера в домен заведены.
Может кто встречался с этой проблемой.