Ошибка при вызове внешней конечной точки REST с использованием RestTemplate - PullRequest
1 голос
/ 29 января 2020

Мой код прерывается, когда достигает этой строки.

String resp = restTemplate.postForObject(URL, json, String.class);

На моем локальном хосте все работает нормально, но на сервере dev-env. Ошибка:

Произошла ошибка в java .lang.NoSuchMethodError: com.microsoft. applicationinsights.agent.internal.coresyn c .impl.ImplementationsCoordinator.httpMethodFinished (Ljava / языки / Строка; Ljava / языки / Строка; Ljava / языки / Строка; Ljava / языки / Строка; Ljava / языки / String; И.Я.) V

Dev-env - Azure Служба приложений, включая Java 8 и Tomcat 9.

Ответы [ 2 ]

1 голос
/ 29 января 2020

Кажется, это похоже на проблему с библиотекой: почему-то в вашей среде есть две несовместимые версии одной и той же библиотеки. Просто запустите

mvn dependency:tree

или вручную удалите недопустимую банку.

0 голосов
/ 03 февраля 2020

У меня есть проблема и решение (для тех, кто получит точно такую ​​же проблему, как опубликовано): Проблема: restTemplate.postForObject() не удалось, возник конфликт, потому что я использовал setConnectTimeout(10000); для

@Bean
public RestTemplate restTemplate(){
  return new RestTemplate(clientHttpRequestFactory());
}
private ClientHttpRequestFactory clientHttpRequestFactory(){
  HttpComponentsClientHttpRequestFactory .......
  factory.setConnectTime(...);
  return factory
}

Проблема была решена, когда я удалил clientHttpRequestFactory() из restTemplate и настроил значение по умолчанию без таймаута подключения. Теперь это не противоречит.

@ Гаурав Я отмечу ваш ответ, потому что ваш ответ дал мне представление о проблеме конфликта зависимостей.

...