Въпрос за уеб услуга на Java JAX-RS

  1. Каква е разликата между клас, анотиран с @Path, и клас, анотиран с @WebService (Какво е реализация на крайната точка на услугата)?

След като прочетете документацията, @WebService се използва със SOAP, където @Path е за REST.

  1. Всеки REST най-прост пример в java с уеб клиент консумира ресурс от услуга в същото приложение? Какъв е методът на комуникация между клиента и уеб услугата?

Благодаря.


person nicholas    schedule 05.06.2011    source източник


Отговори (1)


@Path е за JAX-RS услуги (т.е. REST интерфейс), докато @WebService е за JAX-WS услуги (т.е. SOAP интерфейс). По принцип е напълно възможно да има и двата в един и същ клас – формално няма взаимодействие между двата – въпреки че намирам за по-просто на практика почти нищо да не се споделя между два сервизни интерфейса; REST и SOAP изглежда имат доста различни очаквания в детайли.

В REST клиентите комуникират със сървърите чрез HTTP. Значителна част от REST в много отношения просто използва добре HTTP. Все пак не бих искал да се опитвам да използвам REST за комуникация между клиент и сървър в един и същ процес; всичко това преминаване през частите на уеб сървъра само за да преминете от един обект към друг? Много работа, когато можете да направите директно извикване на метод...

person Donal Fellows    schedule 05.06.2011
comment
Какво имате предвид с това, че никога не бих искал да се опитам да използвам REST за комуникация между клиент и сървър в един и същ процес; всичко това преминаване през частите на уеб сървъра само за да преминете от един обект към друг? - person nicholas; 05.06.2011
comment
@peter: Искам да кажа, че нямам причина някога да извиквам REST интерфейс от същото уеб приложение. Твърде много режийни разходи, недостатъчна функционалност. Концептуално е по-разумно между уеб приложения в един и същи контейнер, но обикновено не бих го направил така или иначе, защото всъщност бих разположил на различни сървъри. - person Donal Fellows; 10.06.2011
comment
Благодаря за коментара. Това е наистина полезно. - person nicholas; 11.06.2011
comment
Как извикахте уеб услугата като приложение B от приложение A (Предпочитате сървлет за подход или твърд код в потребителския интерфейс на приложение A)? - person nicholas; 13.06.2011