Spring error in Restful webservice call

when i access the rezgo sample api using restful webservice i get an exception. I want to get this answer in the sample object package com.mycompany.hr.client;

import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.client.RestOperations; import org.springframework.web.client.RestTemplate; import org.springframework.ws.client.core.WebServiceTemplate; public class Main { public static void main(String[] args) throws Exception { List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>(); acceptableMediaTypes.add(MediaType.APPLICATION_XML); HttpHeaders headers = new HttpHeaders(); headers.setAccept(acceptableMediaTypes); //ResponseEntity<String> result = restTemplate.exchange("http://localhost:8080/spring-rest-provider/krams/person/{id}", HttpMethod.PUT, entity, String.class, id); Map<String,String> urlParam=new HashMap<String,String>(); urlParam.put("key","2D8-F3V0-X7C0-C6I"); urlParam.put("transcode", "p103"); urlParam.put("i", "p103"); urlParam.put("t", "tag"); urlParam.put("q", "nature"); RestTemplate wsTemplate = new RestTemplate(); ResponseEntity<TourList> tl=( wsTemplate).getForEntity("http://xml.rezgo.com/xml?key=2D8-F3V0-X7C0-C6I&transcode=p103&i=search_items&t=tag&q=nature",TourList.class,Collections.singleton(urlParam)); } } 

this is my code, i get the following exception.

 Exception in thread "main" java.lang.NoSuchMethodError: org.springframework.util.CollectionUtils.unmodifiableMultiValueMap(Lorg/springframework/util/MultiValueMap;)Lorg/springframework/util/MultiValueMap; at org.springframework.web.util.UriComponents.<init>(UriComponents.java:100) at org.springframework.web.util.UriComponentsBuilder.build(UriComponentsBuilder.java:222) at org.springframework.web.util.UriComponentsBuilder.build(UriComponentsBuilder.java:212) at org.springframework.web.util.UriTemplate.<init>(UriTemplate.java:70) at org.springframework.web.client.RestTemplate$HttpUrlTemplate.<init>(RestTemplate.java:653) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:407) at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:229) at com.mycompany.hr.client.Main.main(Main.java:52) 

please help me solve this problem.

+4
source share
1 answer

CollectionUtils.unmodifiableMultiValueMap was added in Spring 3.1, but does not appear in earlier versions. It looks like you are building your application using spring -core 3.1, but your runtime is using an earlier version.

Perhaps you recently updated Spring and you have a stale lib directory somewhere where there are several versions of spring -core? In my experience, Java always seems to be wrong (older), and I get such errors. Make sure you don't have spring -core 3.0 or earlier anywhere in your environment.

+4
source

Source: https://habr.com/ru/post/1442365/


All Articles