Если мне нужна веб-служба для передачи назад и вперед сложного объекта, есть ли причина, по которой я должен предпочесть SOAP над REST? Ниже приведен пример возможного сообщения SOAP:
<soap:Envelope>
<soap:Header>
<Credentials>
<User>Joe</User>
<Password>abc123</Password>
</Credentials>
</soap:Header>
<soap:Body>
<MyComplexBusinessObject>
<Search>
<First>Joe</First>
<Last>Smith</Last>
</Search>
...
...
</MyComplexBusinessObject>
</soap:Body>
</soap:Envelope>
Используя REST, я хотел бы попросить клиента POST выполнить следующий xml и пройти аутентификацию с помощью Basic Authentication:
<MyComplexBusinessObject>
<Search>
<First>Joe</First>
<Last>Smith</Last>
</Search>
...
...
</MyComplexBusinessObject>
Сообщение SOAP немного сложнее, но не намного. Они по-прежнему оба являются XML, но SOAP поставляется с WSDL, и большинство программных сред будут генерировать прокси-классы для вас. Тем не менее, большинство людей, с которыми я говорю, должны использовать REST вместо этого, потому что это проще в использовании. Но я не вижу, как SOAP становится более сложным в использовании.
Я что-то пропустил?