#java #spring #web-services #rest #cxf
#java #весна #веб-сервисы #rest #cxf
Вопрос:
Я работаю над веб-службой REST, используя CXF. Я опубликовал свой веб-сервис, и он работает нормально, за исключением следующего метода, для которого требуется параметр:
@GET
@Path("/capteur/{id}")
public Capteur selectCapteurByID(@PathParam(value = "id")String id) {
System.out.println(id);
return capteurDao.getCapteur(id);
}
Когда я пытаюсь получить доступ к своей службе, используя URL: localhost:8080/FireApp/rest/myService/myservice/capteur/11554
Я не получаю ответа и следующее сообщение журнала:
DEBUG o.a.cxf.ws.addressing.ContextUtils - WS-Addressing - failed to retrieve Message Addressing Properties from context
Ответ №1:
Вам нужно будет аннотировать конечную точку как @Path вместо @WebService, чтобы она работала для конечных точек REST.
Комментарии:
1. @Admin, почему это не дает ответов? Вы продолжаете удалять сообщение.
Ответ №2:
WS-адресация довольно специфична для JAX-WS / SOAP, а не для RESTful JAX-RS.
Вы уверены, что не смешиваете JAX-WS (@WebService) с JAX-RS в своем классе?
Комментарии:
1. Да, конечно, аннотация (@WebService не отсутствует) при проверке сообщений отладки я также обнаружил это сообщение: 22:18:17.612 [http-bio-8080-exec-3] DEBUG o.apache.cxf.jaxrs.utils. JAXRSUtils — Тип содержимого не указан для HTTP GET