Разница между SOAP webservice и RESTFUL webservice
Я новичок в Java.Я знаю, что есть два типа веб-сервиса
- веб-сервис SOAP.
- RESTful Webservice.
может ли кто-нибудь сказать мне, в чем основная разница между ними обоими.И в какой ситуации и в какой ситуации это.
Спасибо,
3 ответов
Как объясняет первый ответ allready, веб-службы SOAP и веб-службы REST различаются в разных точках.
мыло:
- вы определяете свой интерфейс в a .WSDL-файл, который точно описывает, какие входные параметры ожидаются и как будут выглядеть возвращаемые значения
- есть инструменты для создания .WSDL-файлов из Java-класса hirarchies. JAXB например
- есть также инструменты для генерации java например, объекты / классы как часть eclipse (не знаю имени в данный момент).
- мыло очень строгое. Каждый запрос validatet против wsdl перед обработкой.
хороший, но не так легко начать с framework для SOAP WS является Apache CXF
отдых (нет рук на опыте до сих пор, не стесняйтесь исправлять и улучшать;)):
- способ доступа к веб-серверу или веб-приложению для получения данных или отправки к нему.
- это только обсуждается, как он доступен.
- общим является что-то вроде этого http://server.domain.com/app/type/id=123 для получения объекта типа type с id=123
- очень понятный, но без автоматической проверки запросов.
- ...
Я уверен, есть несколько других моментов, которые я пропустил. Но я думаю, что это хорошее начало.
на самом базовом уровне SOAP-это протокол обмена сообщениями , REST-это философия дизайна, а не протокол. Когда вы основываете веб-службу на протоколе SOAP, вы в основном соблюдаете правила SOAP создания запроса на обслуживание , размещения запроса на сервере , получения запроса на сервере, обработки запроса и возврата результатов в виде сообщения SOAP.SOAP не говорит ни о том, каким образом клиент получает выгоду от сервиса, ни о том, как спроектировать самого клиента (кроме из сообщения, которое он публикует ), он только сообщает, как сообщение от клиента может быть отправлено в службу и обратно.
REST-сокращение от передачи репрезентативного состояния. В нем не указаны правила создания сообщения и его отправки на сервер. Вы можете сделать это с помощью простого протокола HTTP. REST определяет способ, которым клиент и сервер управляют своими состояниями, чтобы они стали полезными для связи клиент-сервер. Здесь вы больше сосредоточены на проектировании состояний клиентов и серверы, а не сообщения, которыми они обмениваются.
вы также могли бы погуглил для этого; это хорошая статья на эту тему: http://geeknizer.com/rest-vs-soap-using-http-choosing-the-right-webservice-protocol/