Почему мой HTTPPost получает ответ 404? - PullRequest
0 голосов
/ 14 сентября 2018

Я использую org.apache.http.client.methods.HttpPost для отправки данных на проверенный URL-адрес. Мой клиент работает в некоторых системах, но не в других. Я подтвердил, что URL, к которому я пытаюсь получить доступ, из моего кода JAVA доступен из систем клиента с помощью веб-браузера. Действительно странно то, что при просмотре журналов доступа Tomcat нет записей о появлении POST в Tomcat.

Мое единственное предположение на данный момент состоит в том, что системы на стороне клиента используют некоторый тип брандмауэра уровня приложений. Я все еще изучаю эту возможность.

Кто-нибудь может подумать о каких-либо других возможных причинах получения ответа 404 без записи запроса в журналах доступа Tomcat 8?

Спасибо!

1 Ответ

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

Я понял это примерно через час после того, как отправил этот вопрос. Наш системный администратор обновил запись DNS, к которой пытались подключиться клиенты HTTP. Обновление DNS указывало на сервер приложений, на котором не размещалось веб-приложение, с которым клиент пытался установить связь.

Хотя запись DNS была недействительной, он перезапустил все клиентские службы HTTP, и когда они попытались подключиться к веб-приложению, клиенты получили ответ 404.

Как только я выяснил, что что-то не так с записью DNS, он попросил его исправить IP-адрес, когда мы начали видеть обсуждаемую тему.

Оказывается, когда HTTPClient получает ответ 404, он больше не пытается привязаться к URL-адресу до тех пор, пока клиентская служба не будет перезапущена или не создан новый экземпляр HTTPClient.

Вот мой код клиента ...

CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("UN", "PW"));         
HttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(credentialsProvider).build();

Может ли кто-нибудь предоставить мне пример кода, чтобы заставить org.apache.http.client.HttpClient проверить ресурс, несмотря на любые предыдущие 404 ответа?

...