Хотя аннотации JAX-WS и JAX-RS вполне могут сожительствовать на одних и тех же методах, мне трудно поверить, что любой интерфейс, хорошо настроенный для использования с JAX-RS, может хорошо подойти для JAX-WS. или наоборот . Проблема не в том, что вы не можете сделать это, проблема в том, что вы не должны; у них другая модель мира, другая концепция того, что значит быть хорошим интерфейсом.
Но если вы просто делаете что-то тривиальное, например, простой поиск, он действительно может работать:
@GET
@Path("foo/{id}")
@Produces("application/xml")
@WebMethod(operationName = "DescribeFoo")
@WebResult(name = "Description")
public DescriptionOfFoo getFooDescription(
@PathParam("id")
@WebParam(name = "fooId")
String id) {
return get_the.description_of(id); // Whatever...
}
Хотя я бы хотел использовать как можно больше интерфейсов (обратитесь к документации по фреймворку, чтобы узнать, как заставить их работать), так как это уменьшает приведенный выше частичный (!!) набор возможных аннотаций до более разумный уровень. (Для справки: когда все начинает усложняться и вы применяете несколько аспектов в нетривиальных шаблонах, вы можете легко получить более 20 аннотаций на метод, некоторые из которых относятся к вашей реализации, а некоторые - к одному или другому ваших интерфейсов; разбиение способствует здравомыслию.)