Jump to content

Язык описания веб-служб

Язык описания веб-служб
Расширение имени файла
.wsdl
Тип интернет-СМИ
приложение/wsdl+xml
Разработано Консорциум Всемирной паутины
Содержится XML
Стандартный 2.0 Рекомендация

Язык описания веб-служб dəl / ) это веб - (WSDL/ˈwɪ z язык описания интерфейса на , XML основе который используется для описания функций, предлагаемых службой . [ нужна ссылка ] Аббревиатура также используется для любого конкретного WSDL-описания веб-службы (также называемого файлом WSDL ), которое предоставляет машиночитаемое описание того, как можно вызвать службу, какие параметры она ожидает и какие структуры данных она возвращает. . Следовательно, его цель примерно аналогична назначению сигнатуры типа в языке программирования.

Последней версией WSDL, которая стала рекомендацией W3C в 2007 году, является WSDL 2.0. Значение аббревиатуры изменилось по сравнению с версией 1.1, где буква «D» обозначала «Определение».

Описание

[ редактировать ]
Представление концепций, определенных в документах WSDL 1.1 и WSDL 2.0.

WSDL описывает службы как наборы сетевых конечных точек или портов . Для этой цели спецификация WSDL предоставляет XML формат для документов. Абстрактные определения портов и сообщений отделены от их конкретного использования или экземпляра, что позволяет повторно использовать эти определения. Порт определяется путем связывания сетевого адреса с многократно используемой привязкой, а набор портов определяет службу. Сообщения представляют собой абстрактные описания данных, которыми обмениваются, а типы портов представляют собой абстрактные коллекции поддерживаемых операций. Спецификации конкретного протокола и формата данных для конкретного типа порта представляют собой привязку многократного использования, при которой операции и сообщения затем привязываются к конкретному сетевому протоколу и формату сообщений. Таким образом, WSDL описывает общедоступный интерфейс веб-службы.

WSDL часто используется в сочетании с SOAP и схемой XML для предоставления веб-сервисов через Интернет . Клиентская программа, подключающаяся к веб-службе, может прочитать файл WSDL, чтобы определить, какие операции доступны на сервере. Любые используемые специальные типы данных встроены в файл WSDL в форме схемы XML. Затем клиент может использовать SOAP для фактического вызова одной из операций, перечисленных в файле WSDL, используя, например, XML через HTTP .

Текущая версия спецификации — 2.0; версия 1.1 не была одобрена W3C , но версия 2.0 является рекомендацией W3C . [1] WSDL 1.2 был переименован в WSDL 2.0 из-за его существенных отличий от WSDL 1.1. Принимая привязку ко всем методам HTTP-запросов (а не только к GET и POST, как в версии 1.1), спецификация WSDL 2.0 обеспечивает лучшую поддержку RESTful веб-служб и ее гораздо проще реализовать. [2] [3] Однако поддержка этой спецификации по-прежнему недостаточна в комплектах разработки программного обеспечения для веб-служб, которые часто предлагают инструменты только для WSDL 1.1. [ нужно обновить ] [ нужна ссылка ] Например, версия 2.0 языка выполнения бизнес-процессов (BPEL) поддерживает только WSDL 1.1.

Термин WSDL 1.1 Термин WSDL 2.0 Описание
Услуга Услуга Содержит набор системных функций, доступных через веб-протоколы.
Порт Конечная точка Определяет адрес или точку подключения к веб-службе. Обычно он представлен простой строкой URL-адреса HTTP .
Связывание Связывание Указывает интерфейс и определяет SOAP стиль привязки ( RPC /Document) и транспорт ( SOAP протокол ). Раздел привязки также определяет операции.
Тип порта Интерфейс Определяет веб-службу, операции, которые можно выполнять, и сообщения, используемые для выполнения операции.
Операция Операция Определяет действия SOAP и способ кодирования сообщения, например «буквальное». Операция похожа на вызов метода или функции в традиционном языке программирования.
Сообщение Обычно сообщение соответствует операции. Сообщение содержит информацию, необходимую для выполнения операции. Каждое сообщение состоит из одной или нескольких логических частей. Каждая часть связана с атрибутом типа сообщения. Атрибут имени сообщения обеспечивает уникальное имя среди всех сообщений. Атрибут имени части обеспечивает уникальное имя среди всех частей включающего сообщения. Части представляют собой описание логического содержания сообщения. В привязке RPC привязка может ссылаться на имя части, чтобы указать информацию о этой части, специфичную для привязки. Часть может представлять параметр в сообщении; привязки определяют фактическое значение части. Сообщения были удалены из WSDL 2.0, в котором типы XML- схем для определения тел входных, выходных данных и ошибок упоминаются просто и напрямую.
Типы Типы Описывает данные. язык схемы XML (также известный как XSD Для этой цели используется ).

Пример файла WSDL

[ редактировать ]
<?xml version="1.0" encoding="UTF-8"?>
<description xmlns="http://www.w3.org/ns/wsdl" 
             xmlns:tns="http://www.tmsws.com/wsdl20sample" 
             xmlns:whttp="http://schemas.xmlsoap.org/wsdl/http/"
             xmlns:wsoap="http://schemas.xmlsoap.org/wsdl/soap/"
             targetNamespace="http://www.tmsws.com/wsdl20sample">

<documentation>
    This is a sample WSDL 2.0 document. 
</documentation>

<!-- Abstract type -->
   <types>
      <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns="http://www.tmsws.com/wsdl20sample"
                targetNamespace="http://www.example.com/wsdl20sample">
                 
         <xs:element name="request"> ... </xs:element>
         <xs:element name="response"> ... </xs:element>
      </xs:schema>
   </types>

<!-- Abstract interfaces -->
   <interface name="Interface1">
      <fault name="Error1" element="tns:response"/>
      <operation name="Get" pattern="http://www.w3.org/ns/wsdl/in-out">
         <input messageLabel="In" element="tns:request"/>
         <output messageLabel="Out" element="tns:response"/>
      </operation>
   </interface>

<!-- Concrete Binding Over HTTP -->
   <binding name="HttpBinding" interface="tns:Interface1" 
            type="http://www.w3.org/ns/wsdl/http">
      <operation ref="tns:Get" whttp:method="GET"/>
   </binding>
   
<!-- Concrete Binding with SOAP-->
   <binding name="SoapBinding" interface="tns:Interface1" 
            type="http://www.w3.org/ns/wsdl/soap" 
            wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/"
            wsoap:mepDefault="http://www.w3.org/2003/05/soap/mep/request-response">
      <operation ref="tns:Get" />
   </binding>

<!-- Web Service offering endpoints for both bindings-->
   <service name="Service1" interface="tns:Interface1">
      <endpoint name="HttpEndpoint" 
                binding="tns:HttpBinding" 
                address="http://www.example.com/rest/"/>
      <endpoint name="SoapEndpoint" 
                binding="tns:SoapBinding" 
                address="http://www.example.com/soap/"/>
   </service>
</description>

WSDL 1.0 (сентябрь 2000 г.) был разработан IBM , Microsoft и Ariba для описания веб-служб для их набора инструментов SOAP. Он был создан путем объединения двух языков описания служб: NASSL (язык спецификации служб сетевых приложений) от IBM и SDL (язык описания служб) от Microsoft.

WSDL 1.1, опубликованный в марте 2001 года, представляет собой формализацию WSDL 1.0. Никаких серьезных изменений между версиями 1.0 и 1.1 не было.

WSDL 1.2 (июнь 2003 г.) был рабочим проектом W3C, но превратился в WSDL 2.0. По мнению W3C: WSDL 1.2 проще и гибче для разработчиков, чем предыдущая версия. WSDL 1.2 пытается удалить несовместимые функции, а также лучше определяет привязку HTTP 1.1. WSDL 1.2 не поддерживался большинством серверов/поставщиков SOAP.

WSDL 2.0 стал рекомендацией W3C в июне 2007 года. WSDL 1.2 был переименован в WSDL 2.0, поскольку он имеет существенные отличия от WSDL 1.1. Изменения заключаются в следующем:

  • Добавлена ​​дополнительная семантика в язык описания.
  • Удалены конструкции сообщений
  • Перегрузка операторов не поддерживается
  • Типы портов переименованы в интерфейсы
  • Порты переименованы в конечные точки

Подмножество WSDL

[ редактировать ]

Подмножество WSDL (SWSDL) [4] представляет собой WSDL с подмножеством операций исходного WSDL. Разработчик может использовать SWSDL для доступа к службе подмножества и, таким образом, обрабатывать подмножество кода веб-службы. Подмножество WSDL можно использовать для тестирования веб-сервисов и разработки сверху вниз. Нарезка веб-службы может быть выполнена с использованием Subset WSDL для доступа к Subset Service. Подмножество услуг можно разделить на уровни с помощью SWSDL. SWSDL используются для анализа, тестирования и разработки веб-сервисов сверху вниз. АВСММ [5] — это инструмент, который может идентифицировать операции подмножества в файле WSDL для создания подмножества WSDL.

Соображения безопасности

[ редактировать ]

Поскольку файлы WSDL представляют собой спецификацию на основе XML для описания веб-службы, файлы WSDL подвержены атакам. [6] Чтобы снизить уязвимость этих файлов, рекомендуется ограничить доступ к созданным файлам WSDL, установить надлежащие ограничения доступа к определениям WSDL и избегать ненужных определений в веб-службах.

См. также

[ редактировать ]
  1. ^ «Язык определения веб-служб (WSDL) версии 2.0, часть 1: основной язык» . Проверено 27 июня 2007 г.
  2. ^ «Язык определения веб-служб (WSDL) версии 2.0, часть 2: Дополнения» .
  3. ^ «Привязка HTTP WITW WSDL 2.0» . Архивировано из оригинала 20 июня 2012 г. Проверено 20 сентября 2007 г.
  4. ^ Чатурведи, Анимеш (2014). Подмножество WSDL для доступа к подмножеству службы для анализа . 2014 6-я Международная конференция IEEE по технологиям и науке облачных вычислений. п. 688. дои : 10.1109/CloudCom.2014.149 . ISBN  978-1-4799-4093-6 .
  5. ^ Чатурведи, Анимеш (2014). Автоматизированное управление изменениями веб-сервисов AWSCM — инструмент . 2014 6-я Международная конференция IEEE по технологиям и науке облачных вычислений. п. 715. дои : 10.1109/CloudCom.2014.144 . ISBN  978-1-4799-4093-6 .
  6. ^ «Раскрытие WSDL» . Проверено 31 мая 2017 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 58afccb216d5461585271691e79c5089__1692284820
URL1:https://arc.ask3.ru/arc/aa/58/89/58afccb216d5461585271691e79c5089.html
Заголовок, (Title) документа по адресу, URL1:
Web Services Description Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)