ГОСТ Р ИСО/МЭК 40220—2015
предполагает, что ресурсом, который будет обновлен, является QuantitylnStock для значения параметра
PartNumber, равного «123». Соответственно, при сопоставлении с методом или процедурой некоторого
языка программирования любые фактические параметры, которые служатдля идентификации ресурсов
(как номер детали PartNumber в примере выше) должны, когда это целесообразно, быть представлены в
URI, к которому адресованы сообщения SOAP. Если имя метода или процедуры идентифицирует или
уточняет идентификацию ресурса (как QuantitylnStock в примере выше), то при сопоставлении с мето
дом или процедурой некоторого языка программирования такое именование или уточнение должно быть
представлено, когда это целесообразно, в URI. к которому адресовано сообщение SOAP. Данная спе
цификация не определяет никаких стандартных средств представления параметров или имен методов.
При м е ча н и е — Соглашениядля специфического URI-кодирования имен процедур и параметров, а так
же для управления включением таких параметров в тело SOAP RPC могут быть установлены совместно с разра
боткой языков описания интерфейсов Веб-службы. Они могут быть разработаны, если SOAP привязан к опреде
ленным языкам программирования, или могут быть установлены на базе конкретных приложений или процедур.
6.1.2 Отличие получения ресурсов от других RPC
Всемирная паутина зависит от механизмов, которые оптимизируют часто выполняемые задачи
информационного поиска. В частности протоколы, такие как HTTP [RFC 2616], предоставляют метод
«GET», который используется для безопасного извлечения информации. Это такое извлечения инфор
мации. которое не изменяет данные, не имеет побочных эффектов и которому из соображений безопас
ности. не запрещено использовать кэшированные результаты или идентификацию, основанную на URI.
Определенные процедуры или вызовы методов представляют собой запросы на получение ин
формации. Например, вызов.
getQuantitylnStock (PartNumber = «123»)
мог бы использоваться для получения количества, установленного в примере выше.
Следующие соглашения могут использоваться для реализации вызовов SOAP и других вызовов
RPC в сети Интернет:
- соглашения, описанные в 6.1.1. используются для идентификации ресурсов no URI;
- в случаях, когда все параметры представлены в URI, никакие блоки заголовка SOAP не переда
ются. и операция извлечения информации является безопасной, используются функция «Веб-метод»
(см. 8.4) и шаблон обмена сообщениями «ответ SOAP» (см. 8.3). Соответственно, никакой конверт
SOAP не передается для запроса, и значение свойства
http://www.w3.org/2003/05/soap/featuresAveb-
method/Method
устанавливается в значение «GET». Результатом извлечения информации является от
вет SOAP RPC. описанный в 6.2.2;
- в случаях, когда выполняемая операция не является извлечением информации, когда должны
быть переданы блоки заголовка SOAP (например, в случае цифровой подписи) или когда извлечение
информации не является безопасным, используются функция «Веб-метод» (см. 8.4) и шаблон обмена
сообщениями «запрос-ответ» (см. 8.2). Конверт запроса кодируется, как описано в 6.2.1. а результаты
извлечения информации описаны в 6.2.2.
Свойство http7/
www.w3.org/2003/05/soap/features/web-method/Method
устанавливается в значение
«POST».
Представление SOAP RPC не определяет никаких других значений для
http://www.w3.org/2003/05/
soap/features/web-method/Method.
6.2 RPC и элемент Body SOAP
Как RPC вызовы (за исключением безопасных методов извлечения информации, см. 6.1.2). так и
ответы содержат элемент SOAP Body [ИСО/МЭК 40210. подраздел 8.3]. используемый для представле
ний. описанных ниже.
6.2.1 Вызов RPC
Вызов RPC моделируется следующим образом.
- вызов представляется единственной структурой, содержащей исходящее ребро для каждого
входящего [in] или входящего/исходящего [in/out] параметра. Структура именуется идентично проце
дуре или методу. Для представления имен методов, которые не являются допустимыми XML именами.
СЛЕДУЕТ использовать соглашения из приложения В;
- у каждого исходящего ребра есть метка, соответствующая имени параметра. Для представления
имен параметров, которые не являются допустимыми XML именами. СЛЕДУЕТ использовать соглаше
ния из приложения В.
8