Вызов веб-службы без wsdl
Я хочу написать программу на Java для вызова веб-службы. WSDL недоступен для этого веб-сервиса. Я написал программы для вызова веб-службы, которая имеет wsdl. Здесь я понятия не имею, как мне поступить. Не могу найти много образцов в Интернете.
Есть ли лучшая каркасная конструкция, которую я могу использовать? Я получаю вывод JSON из веб-службы.
Я смотрю на варианты написания наилучшего возможного варианта (если бы я мог написать обобщенную программу, которая могла бы использоваться для многих веб-сервисов без значительных изменений, было бы здорово)
1 ответ
Решение
Ну, есть несколько способов потреблять отдых службы.
Используя Spring Framework:
import org.springframework.web.client.RestTemplate
RestTemplate restTemplate = new RestTemplate();
User user = restTemplate.getForObject("http://localhost:8080/users/2", User.class);
System.out.println("Username: " + user.getUsername());
Используя apache httpclient:
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new HttpGet("http://localhost:8080/users/2");
HttpResponse response = httpClient.execute(getRequest);
HttpEntity httpEntity = response.getEntity();
String userString = EntityUtils.toString(httpEntity);
// Transform 'userString' into object using for example GSON:
Gson gson = new Gson();
User user = gson.fromJson(userString, User.class);
System.out.println("Username: " + user.getUsername());