### Интеграция приложения. API. Обзор SOAP и REST
В первую очередь, указываем тип документа и кодовую таблицу:
```xml
<?xml version="1.0" encoding="utf-8"?>
```
Указываем обертку и тело запроса:
```xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope>
<soap:Body>
</soap:Body>
</soap:Envelope>
```
Запрос будет обработан и без указания пространств имён, но рекомендуется их указать:
```xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tns="http://sal-apid.herokuapp.com/wsdl">
<soap:Body>
</soap:Body>
</soap:Envelope>
```
Теперь обращаемся к документу по адресу
https://sal-apid.herokuapp.com/wsdl?wsdl
В этом документе указан только один тип входящих сообщений - PostPersonRequest:
```xml
<PostPersonRequest>
</PostPersonRequest>
```
Для этого запроса описано три параметра:
- `name`;
- `age`;
- `gender`.
```xml
<PostPersonRequest>
<name> </name>
<age> </age>
<gender> </gender>
</PostPersonRequest>
```
`name` - комплексный тип, содержащий три строковых параметра:
- `firstname`;
- `surname`;
- `patronymic`.
`age` - десятичное число.
`gender` - строка, которая может принимать только одно из двух значений:
- `male`;
- `female`.
```xml
<PostPersonRequest>
<name>
<firstname>Джеймс</firstname>
<surname>Бонд</surname>
<patronymic>Ян оглы</patronymic>
</name>
<age>32</age>
<gender>male</gender>
</PostPersonRequest>
```
Теперь соберем все вместе:
```xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tns="http://sal-apid.herokuapp.com/wsdl">
<soap:Body>
<PostPersonRequest>
<name>
<firstname>Джеймс</firstname>
<surname>Бонд</surname>
<patronymic>Ян оглы</patronymic>
</name>
<age>32</age>
<gender>male</gender>
</PostPersonRequest>
</soap:Body>
</soap:Envelope>
```
В ответ на это сообщение придёт сообщение:
```xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://sal-apid.herokuapp.com/wsdl">
<soap:Body>
<PostPersonResponse>
<key>You are awesome!</key>
<result>The data is valid</result>
</PostPersonResponse>
</soap:Body>
</soap:Envelope>
```