Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Literal и Encoded Кодирование Параметров

Как известно, объектная структура в общем случае представляет собой граф, в том числе содержащий циклы. XML предназначен для удобного задания в первую очередь древовидных структур. Напомним, что в дереве, у каждого элемента может быть один вышестоящий корень, в графе это ограничение не накладывается, и в объектной структуре легко допускается то что один экземпляр объекта входит (по ссылке) в несколько структур, например один и тот же элемент может входит в две и более коллекции. Для этих целей XML предусматривает два подхода к кодированию (или использованию/use – в терминах WSDL):

  • literal – определяет подход, при котором все дочерние элементы объекта представлены в виде их копий; т.е. если элемент входит в две коллекции, то он будет представлен в XML SOAP сообщении два раза (т.е. будет повторяться)
  • encoded – определяет подход, когда элемент задаётся только один раз, а в дальнейшем, если ссылки на него встречаются, то будут вставляться специальные элементы, задающие ссылки на такой элемент, а не его значения

В то время как encoded подход позволяет избежать дублирования, а так же снизить объём передаваемых сообщений, он не позволяет проводить автоматическую валидацию и трансформацию средствами XSL, XML Schema, DTD.

То как будет кодироваться XML SOAP сообщение и какой стиль будет использован задаётся в WSDL в секции Binding:

 

<wsdl:binding name="Config1Binding" type="prt0:CreditLimitLocalWebServiceVi_Document">

<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />

<wsdl:operation name="creditLimitCheck">

<soap:operation soapAction="" />

<wsdl:input>

<soap:body use="literal" parts="parameters" />

</wsdl:input>

<wsdl:output>

<soap:body use="literal" />

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

 

 

WSDL

Web Services Definition Language – это стандарт, задающий XML описание WebService’а. Это описание включает в себя исчерпывающую информацию о том как вызвать конкретный WebService, как передать ему параметры и как получить результат. Важно отметить, что WSDL не определяет того что делает сервис, а лишь определяет структуру его вызова.

Пример WSDL (1.1) приведён ниже:

<definitions>

<types>

definition of types….....

</types>

 

<message>

definition of a message….

</message>

 

<portType>

definition of a port…....

</portType>

 

<binding>

definition of a binding….

</binding>

 

</definitions>

 

Как видно из примера документ WSDL 1.1 содержит четыре секции:

  • types
  • messages
  • portType
  • binding

 

Отдельные секции:

<message name="getTermRequest">

<part name="term" type="xs:string"/>

</message>

 

<message name="getTermResponse">

<part name="value" type="xs:string"/>

</message>

 

<portType name="glossaryTerms">

<operation name="getTerm">

<input message="getTermRequest"/>

<output message="getTermResponse"/>

</operation>

</portType>

 

<== предыдущая лекция | следующая лекция ==>
SOAP Document and RPC Style | Архитектурный принцип Шины в ESB
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 624; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.