Я создаю веб-сервис REST с помощью Джерси на Glassfish. Теперь я борюсь с моим пользовательским источником ввода для моих поисковых запросов.
Если есть метод поиска:
@POST
@Path("search")
@Consumes({"application/xml", "application/json"})
@Produces({"application/xml", "application/json"})
public List<Index> search(SearchQuery searchqry) {
...
}
И класс SearchQuery:
@XmlRootElement
public class SearchQuery implements Serializable {
private static final long serialVersionUID = 1L;
public SearchQuery() {
}
public SearchQuery(float lat, float lng) {
this.lat = lat;
this.lng = lng;
}
public float getLat() {
return lat;
}
public void setLat(float lat) {
this.lat = lat;
}
public float getLng() {
return lng;
}
public void setLng(float lng) {
this.lng = lng;
}
private float lat;
private float lng;
}
И мой звонок:
curl -v -X POST --data-binary "<SearchQuery><lat>3.3</lat><lng>5.4</lng></SearchQuery>" -H "Content-Type: application/xml" -H "Accept: application/xml" http://localhost:8080/WebApplication1/resources/index/search
Я попробовал консоль отдыха для отправки XML-запроса, но получаю ту же ошибку:
HTTP Status 400 - Bad Request
type Status report
сообщениеНеверный запрос
описаниеЗапрос, отправленный клиентом, был синтаксически неверным (неверный запрос).
Сервер GlassFish с открытым исходным кодом, версия 3.1.2
* Closing connection #0
Я что-то упускаю по существу, или кто-нибудь может подсказать, как отладить несортирующую часть внутри сервера приложений?
Я следовал руководству по адресу http://xebee.xebia.in/2011/12/30/example-of-restful-webservice-with-xml-and-json-using-maven-jaxb-jersey-tomcat-and-curl/ и проверил различные комбинации аннотаций, но безуспешно :(
curl ... -H "Content-Type: application/xml". - person dma_k   schedule 14.03.2012