Проблема здесь из-за нескольких ошибок:
- Первая связана с форматом ввода.Код, который вы используете, пытается отобразить ключ и значения, но, как я мог видеть из этого руководства , он ожидает формат XML в виде простого текста в качестве ввода.
- Вторая ошибкачто вы пытаетесь опубликовать поверх существующего идентификатора.В этом случае, чтобы создать ресурс, вы должны использовать http://www.thomas -bayer.com / sqlrest / CUSTOMER /
Так что в этом случае, чтобы заставить его работать, попробуйтечто-то вроде этого:
String url = "http://www.thomas-bayer.com/sqlrest/CUSTOMER/";
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(url);
String xml = "<resource>";
xml += "<ID>102</ID>";
xml += "<FIRSTNAME>Apex</FIRSTNAME>";
xml += "<LASTNAME>Consultancy</LASTNAME>";
xml += "<STREET>Shell Blvd</STREET>";
xml += "<CITY>Fremont</CITY>";
xml += "</resource>";
post.setEntity(new StringEntity(xml));
HttpResponse response = client.execute(post);
System.out.println(response.getStatusLine().getStatusCode());
System.out.println("Response Code: " + response);
System.out.println(response.getStatusLine().getReasonPhrase());
Также очень полезно изучить другой способ тестирования с помощью таких инструментов, как curl
утилита командной строки.Например, вы можете ПОСТАВИТЬ продукт, подобный этому:
curl -X POST http://www.thomas-bayer.com/sqlrest/PRODUCT/ -d '<resource><ID>103</ID><NAME>X</NAME><PRICE>2.2</PRICE></resource>'
После того, как вы решите это, будет важно привыкнуть к HTTP-кодам .Например, ошибка 500 означает, что что-то не так на стороне сервера, в то время как 404 обычно означает, что вы попали в недопустимую конечную точку (она не существует).
Наконец, я не буду обсуждать, почему вы используете этоПроект для отправки HTTP-запросов на сервер - но имейте в виду, что это не очень распространенный способ.В настоящее время REST с JSON будет гораздо интереснее и приятнее :) Если вам интересно, посмотрите Spring Boot REST