RPC против Документа
RPC и стиль документа Язык описания веб-сервисов - два наиболее часто используемых термина в отношении веб-сервисов и протокола SOAP. Веб-службы часто описываются с использованием документов на языке описания веб-служб (WSDL). WSDL описывает поддерживаемые операции и сообщения веб-службы и связывает их с конкретным сетевым протоколом и форматом сообщений. Абстрактные определения определяются с использованием элементов «type», «message» и «portType». Конкретные спецификации описаны с использованием «связующих» и «сервисных» элементов. Каждый из этих элементов находится внутри элемента «определения».
RPC и стиль документа отличаются по стилям привязки, которые также называются стилями привязки SOAP. WSDL определяет стиль привязки как RPC или документ в зависимости от полезной нагрузки SOAP или структуры содержимого элемента. Стиль документа всегда является выбором по умолчанию, так как сообщение SOAP отправляется в элементе как «документ». Элемент стиля RPC должен следовать правилам, описанным в спецификации SOAP. Согласно правилам, элемент может состоять только из одного элемента, который назван в честь операции, а параметры интерпретируются как подэлементы основного элемента. И RPC, и стили документа являются приемлемыми версиями большинства клиентов SOAP; тем не менее, использование одного над другим в основном является личным выбором.
Атрибут use также помогает различать стили RPC и документов. Атрибут use описывает, как оба стиля представлены в XML. Атрибут use описывает, кодируются ли части сообщения, или сообщение следует определению схемы XML. В зависимости от выбора существует четыре возможных комбинации как RPC, так и стилей документа; а именно RPC / закодированный, RPC литерал, Документ / Кодированный или Документ / Литерал. Не все из четырех комбинаций используются, и предпочтение одной комбинации перед другой больше личного интереса.
Основное различие между стилями документа и RPC заключается в том, что в стиле документа клиент всегда отправляет параметры службы на сервер в простом формате документа XML, а не в виде отдельного набора значений параметров. Стиль документа слабо связан со стилем RPC.
В стиле Document / Literal сообщение всегда может быть проверено с использованием любого средства проверки XML. Содержимое в теле SOAP четко определено в схеме. В стиле RPC / literal переданные данные трудно проверить с помощью сообщения SOAP. Стиль Document / Literal теряет имя операции в сообщении SOAP, тогда как в стиле RPC / literal имя операции все еще существует в сообщении SOAP. из четырех различных комбинаций широко используются стили RPC / literal и Document / Literal.
Резюме:
1. В стиле документа сообщение SOAP отправляется как один документ, тогда как в
Стиль RPC, тело SOAP может содержать несколько элементов.
2. Стиль документа слабо связан, в то время как RPC тесно связан.
3. В стиле документа клиент отправляет параметры сервиса в простом формате XML
тогда как в стиле RPC параметры отправляются как дискретные значения.
4. Стиль Document / Literal теряет имя операции в сообщении SOAP, тогда как
стиль RPC / literal сохраняет имя операции в сообщении SOAP.
5. В стиле Document / Literal сообщения всегда могут быть проверены с использованием любого XML
валидатор, тогда как в стиле RPC / литерал переданные данные трудно проверить
SOAP-сообщение.