Вы уточняете свой первоначальный вопрос, говоря: «Мой вопрос касается методов службы, если они получают сложные типы вместо скалярных параметров?»
Вам следует задать себе следующее:
а) Есть ли вероятность того, что услуга может использоваться не-OO-клиентами?Не знаю, партия КОБОЛ?Даже если ваша компания стандартизировала технологию OO (Java / .NET), есть ли шанс, что этот конкретный сервис может быть использован в будущем какой-либо внешней организацией (клиент, веб-сайт PHP, что угодно)
b) Имеютвы уже создавали много таких сервисов в прошлом (поэтому вы совершенно уверены, что нет проблем с сортировкой / сериализацией / десериализацией сложных типов или, по крайней мере, знаете, что вы можете безопасно использовать)?
Если выполностью уверенный в обоих аспектах, тогда не стесняйтесь использовать подход «OO» при проектировании входов и выходов для вашего сервиса.В противном случае, перейдите на самый безопасный (если более примитивный) подход и разложите «объекты» по группам скаляров.