Почти все вещи, о которых вы говорите, одинаково достижимы с использованием SOAP или REST, хотя, возможно, немного проще с SOAP.Конечно, проще создавать клиентские API для интерфейсов SOAP;Поддержка инструментов клиента значительно более продвинута для большинства языков.
Однако , вы говорите, что хотите иметь дело с загрузкой и загрузкой нескольких гигабайт.Это очень важный момент, поскольку REST может гораздо проще справляться с подобными вещами.SOAP почти всегда используется с точки зрения обработки DOM, а это означает создание полных сообщений в памяти;Вы никогда не хотите делать это с полезной нагрузкой в несколько ГБ.
Так что используйте REST.Это определенно ваш лучший вариант для достижения всех ваших перечисленных целей.