Правильный способ сделать это - создать отдельный сервис для каждого клиента. Каждый сервис выставляет операцию, используя свой собственный контракт данных только с необходимыми свойствами. Обе службы просто обернутся вокруг вашей основной логики, работая с целым объектом данных. Если причиной отправки только подмножества свойств является безопасность данных, то создание двух служб является единственно допустимым вариантом.
Если мы рассмотрим это более подробно, проблема здесь заключается в описании услуги. Если вы предоставляете метаданные / WSDL в своем сервисе, он всегда будет содержать весь контракт с данными, потому что вы не можете изменить его динамически. Если клиент создает прокси из этих метаданных, он также получает весь контракт.
Вы можете избежать отправки некоторых свойств в сообщении SOAP, если вы настроите свой контракт , чтобы он не включал свойства со значениями по умолчанию и не устанавливал их в вашем сервисе, но я не думаю, что это хорошее решение.