13 заняття:
1. SOAP
2. XML
3. WSDL
4. Testing SOAP via SoapUI
5. Testing SOAP via Postman
SOAP (Simple Object Access Protocol) — протокол обміну структурованими повідомленнями в розподілених обчислювальних системах, базується на форматі XML. Тестування SOAP принципово нічим не відрізняється від роботи з іншими API але для його проведення необхідна підготовка та спеціальні інструменти для тестування.
REST і SOAP - це два стиля передачі даних.
SOAP - це стандартизований протокол, який відправляє повідомлення з використанням таких протоколів, таких як HTTP
На відміну від SOAP, REST - це архітектурний підхід. REST і SOAP не можна порівнювати. REST - це архітектурний стиль. SOAP - це формат обміну повідомленнями.
У SOAP ви використовуєте формат SOAP XML для запитів і відповідей.
У REST такого фіксованого формату немає. Ви можете обмінюватися повідомленнями на основі XML, JSON або будь-якого іншого зручного формату. JSON є найпопулярнішим серед використовуваних форматів.
SOAP-повідомлення(request) – це звичайний XML-документ, що містить такі елементи:
<?xml version="1.0" encoding="UTF-8"?> цей рядок називається XML прологом. XML пролог необов'язковий. Але якщо він є, то це має бути перший рядок документа XML. У XML документі можуть бути міжнародні символи, на зразок українських літер, і щоб не виникало помилок необхідно вказати кодування, або зберегти XML файл у форматі UTF-8. UTF-8 — кодування XML документів замовчуванням.
Ось кілька важливих правил для XML:
Форматування: Усі XML-документи повинні бути добре сформованими та відповідати базовим синтаксичним правилам. Кожен відкриваючий тег повинен мати відповідний закриваючий тег.
Чутливість до регістру: XML чутливий до регістру; імена елементів та атрибутів повинні бути написані в правильному регістрі у всьому документі.
Правильне вкладення: Елементи повинні бути правильно вкладені, тобто не повинні перекриватися або бути неправильно розташованими в інших елементах.
Спеціальні символи: Особливі символи, такі як &, <, >, ", та ', повинні бути представлені використовуючи спеціальні символи кодування: &, <, >, ", '.
Атрибути: Атрибути мають бути завжди вказані в лапках (одинарних або подвійних).
<корінь>
<елемент>Вміст елементу</елемент>
</корінь>
<Елемент>Вміст елементу</Елемент>
<елемент1>
<елемент2> </елемент1>
</елемент2>
<елемент атрибут="Значення & спеціальний символ"><Текст></елемент>
<елемент атрибут="значення">
Вміст елементу
</елемент>
Ось кілька важливих правил для XML:
Унікальні імена елементів: Кожен елемент у XML-документі повинен мати унікальне ім'я.
Кореневий елемент: XML-документ повинен мати один кореневий елемент, який містить всі інші елементи.
<першийЕлемент>...</першийЕлемент>
<другийЕлемент>...</другийЕлемент>
<корінь>
<піделемент>...</піделемент>
</корінь>
XML Schema Definition — спосіб описання типу XML документу, як правило, визначається шляхом введення обмежень на структуру та зміст документів заданого типу на додаток до базових синтаксичних обмежень самого формату XML.
! опис типів даних та їх обмеження
<?xml version="1.0" encoding="UTF-8"?>
<shiporder orderid="889923"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
<orderperson>John Smith</orderperson>
<shipto>
<name>Ola Nordmann</name>
<address>Langgt 23</address>
<city>4000 Stavanger</city>
<country>Norway</country>
</shipto>
<item>
<title>Empire Burlesque</title>
<note>Special Edition</note>
<quantity>1</quantity>
<price>10.90</price>
</item>
<item>
<title>Hide your heart</title>
<quantity>1</quantity>
<price>9.90</price>
</item>
</shiporder>
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="shiporder">
<xs:complexType>
<xs:sequence>
<xs:element name="orderperson" type="xs:string"/>
<xs:element name="shipto">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="note" type="xs:string" minOccurs="0"/>
<xs:element name="quantity" type="xs:positiveInteger"/>
<xs:element name="price" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="orderid" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
Web Services Description Language— мова опису інтерфейсів веб сервісу заснована на XML, що описує функціональність веб сервісу і спосіб доступу до нього.
В WSDL документі описується про доступні методи (операції) а також опис параметрів для кожного окремого запиту та відповіді.