А SOAP запрос будет предусматривать создание и пополнение просьбу конверт, в котором содержится вся необходимая информация (как указано в документе WSDL), препровождающее, что конверт с API сервера, обработки и ответа.
|
|
А SOAP запрос обычно содержит все следующие элементы:
Конверт SOAP - Что имен включений.
SOAP орган - Возможно определение дополнительных имен.
Желаемый действий - Как желаемого действия представлены будет зависеть от API нет. Она может быть как простой, как параметр, или привлекать дополнительных имен.
Разработчик Основные Уникальный идентификатор, присвоенный сервером для запроса.
Параметры запроса детализации - это требование выполнить.
С этой информацией в виду года SOAP запрос может быть сгенерировано.
<? xmlversion = "1,0" кодировку = "UTF - 8" автономную = "нет"? >
<SOAP - ENV: Конверт
xmlns: SOAP - ENV = "http://schemas.xmlsoap.org/soap/envelope/"
xmlns: xsd = "http://www.w3.org/2001/XMLSchema"
xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance">
<SOAP - ENV: Кузов>
<devkey xsi: тип = "xsd: int"> 123 </ devkey>
<действия xsi: тип = "xsd: строка"> поиск </ действия>
<тип xsi: тип = "xsd: строка"> книге </ типа>
<ключевое слово xsi: тип = "xsd: строка"> в стиле </ ключевые слова>
</ SOAP - ENV: Кузов>
</ SOAP - ENV: Конверт>
Параметры включены в запрос легко выбрать, и несмотря на то, что переменная не вводить большое значение для развития PHP, он прийти в удобный для более решительно типизированных языках. В отсутствующим товаром здесь является конечной, ясно в ОТДЫХА пример потому, что он является URL, в которой был размещен запрос. SOAP запросов, конечно, противоречить указанного URI, которые не должны повторно указано в просьбе самого.
В SOAP ответ будет выглядеть так:
<? xmlversion ='1 .0 "кодировку = 'UTF - 8'? >
<SOAP - ENV: Конверт
xmlns: SOAP - ENV = "http://schemas.xmlsoap.org/soap/envelope/"
xmlns: xsi = "http://www.w3.org/1999/XMLSchema-instance"
xmlns: xsd = "http://www.w3.org/1999/XMLSchema">
<SOAP - ENV: Кузов>
<LibrarySearchResponsexmlns = "http://library.example.com/api/ns">
<RequestInfo>
<devkey xsi: тип = "xsd: строка"> 123 </ devkey>
<действия xsi: тип = "xsd: строка"> поиск </ действия>
<тип xsi: тип = "xsd: строка"> книге </ типа>
<ключевое слово xsi: тип = "xsd: строка"> в стиле </ ключевые слова>
</ RequestInfo>
<ResponseInfo>
<ResultCount> 2 </ ResultCount>
<Пункт>
<Название xsi: тип = "xsd: строка"> Стиль Заказать Том 1 </ Название>
<Статус xsi: тип = "xsd: строка"> Из </ Статус>
<Имеет xsi: тип = "xsd: int"> 3 </ Трюмы>
<CopiesOnHand xsi: тип = "xsd: int"> 2 </ CopiesOnHand>
<Автор xsi: тип = "xsd: строка"> Jon Doe </ Автор>
</ Пункт>
<Пункт>
<Название xsi: тип = "xsd: строка"> Стиль Заказать Том 2 </ Название>
<Статус xsi: тип = "xsd: строка"> В </ Статус>
<Имеет xsi: тип = "xsd: int"> 0 </ Трюмы>
<CopiesOnHand xsi: тип = "xsd: int"> 1 </ CopiesOnHand>
<Автор xsi: тип = "xsd: строка"> Jon Doe </ Автор>
</ Пункт>
</ ResponseInfo>
</ LibrarySearchResponse>
</ SOAP - ENV: Кузов>
</ SOAP - ENV: Конверт>
В SOAP ответ, не слишком отличается от ОТДЫХА ответ показано ранее. В действительности, большая часть названия интервалов фактически может быть пропущен (хотя она редко увидеть ответ SOAP без него), при этом, за исключением дополнительных инкапсуляцию, двух документов будет весьма схожи.
Как вы должны быть в состоянии различить от ответа показывает, она заявляет себя как XML 1,0 и использует UTF - 8 для кодировки. В SOAP - ENV: Конверт элемент - корневой элемент документа, и threenamespaces, в том числе SOAP - ENV имен. Тело затем содержит LibrarySearchResponse элемент среди прочего, что также определяет свои собственные имен.
В RequestInfo родителей следующим после, и это содержит параметры запроса, который генерирует ответ, который следует по оттуда. Возвращаясь параметры запроса с ответом является обычным явлением в SOAP.
Наконец, ответ сам возвращается. Уведомление о том, что ResultCount элемент находится в прямой ребенка ResponseInfo, и в результате сами пункты вновь хранятся под повторить элемент, Пункт.
Online: 536 users browsing the articles directory
|
|