У меня есть контроллер, который вызывает внешний веб-сервис (WS). Когда он вызывает WS, но ничего не обрабатывает, поскольку он уже обновлен, он возвращает OK (200), а мой контроллер возвращает успех (AJAX). Однако, если WS должен обработать обновление, и это занимает несколько минут (не слишком долго), он все равно возвращает OK (200), но мой контроллер возвращает ОШИБКУ 500.
Я также пытаюсь вызвать контроллер с помощью кнопки отправки. , вместо AJAX, с тем же результатом.
Надеюсь, я хорошо объяснил. Кто-нибудь может помочь?
вызов контроллера WebService
@PostMapping(value = "/xyz.htm", params="callWebService")
@ResponseBody
public String callWebService(final HttpSession session, HttpServletRequest request) {
String resultado="{\"messageType\":\"error\",\"message\":\"Updated error\"}";
try {
SendNotification sendNotification = new SendNotification();
if (SendNotification.send()) {
resultado="{\"messageType\":\"info\",\"message\":\"Updated\"}";
}
}catch (Exception e) {
logger.error("xyz.callWebService -- Error calling WS", e);
}
return resultado;
}
Класс SendNotification
public boolean send() throws Exception {
String token = getToken();
if (token != null && !token.isEmpty()) {
Client client = null;
WebTarget myResource = null;
Response res = null;
try {
client = ClientBuilder.newBuilder().sslContext(Conexiones.configurarSSL()).build();
myResource = client.target(urlAvisos);
Invocation.Builder builder = myResource.request(MediaType.APPLICATION_JSON);
builder.header(HttpHeaders.AUTHORIZATION, "Bearer " + token);
res = builder.post(Entity.entity("{}", MediaType.APPLICATION_JSON));
if (res.getStatusInfo().getReasonPhrase().equalsIgnoreCase("ok")) {
logger.error("sent - OK");
return true;
} else {
logger.error("sent- not OK");
return false;
}
} catch (Exception ex) {
logger.error("SendNotification.send", ex);
} finally {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
}
} else {
return false;
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... webservice
Ошибка 500 на моем контроллере после вызова веб-сервиса ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1727252187
Anonymous
У меня есть контроллер, который вызывает внешний веб-сервис (WS). Когда он вызывает WS, но ничего не обрабатывает, поскольку он уже обновлен, он возвращает OK (200), а мой контроллер возвращает успех (AJAX). Однако, если WS должен обработать обновление, и это занимает несколько минут (не слишком долго), он все равно возвращает OK (200), но мой контроллер возвращает ОШИБКУ 500.
Я также пытаюсь вызвать контроллер с помощью кнопки отправки. , вместо AJAX, с тем же результатом.
Надеюсь, я хорошо объяснил. Кто-нибудь может помочь?
вызов контроллера WebService
@PostMapping(value = "/xyz.htm", params="callWebService")
@ResponseBody
public String callWebService(final HttpSession session, HttpServletRequest request) {
String resultado="{\"messageType\":\"error\",\"message\":\"Updated error\"}";
try {
SendNotification sendNotification = new SendNotification();
if (SendNotification.send()) {
resultado="{\"messageType\":\"info\",\"message\":\"Updated\"}";
}
}catch (Exception e) {
logger.error("xyz.callWebService -- Error calling WS", e);
}
return resultado;
}
Класс SendNotification
public boolean send() throws Exception {
String token = getToken();
if (token != null && !token.isEmpty()) {
Client client = null;
WebTarget myResource = null;
Response res = null;
try {
client = ClientBuilder.newBuilder().sslContext(Conexiones.configurarSSL()).build();
myResource = client.target(urlAvisos);
Invocation.Builder builder = myResource.request(MediaType.APPLICATION_JSON);
builder.header(HttpHeaders.AUTHORIZATION, "Bearer " + token);
res = builder.post(Entity.entity("{}", MediaType.APPLICATION_JSON));
if (res.getStatusInfo().getReasonPhrase().equalsIgnoreCase("ok")) {
logger.error("sent - OK");
return true;
} else {
logger.error("sent- not OK");
return false;
}
} catch (Exception ex) {
logger.error("SendNotification.send", ex);
} finally {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
}
} else {
return false;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79021776/error-500-from-my-controller-after-calling-a-webservice[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия