Я не буду касаться вашего примера, поскольку я не уверен, является ли его псевдо-код или нет, и, как вы узнаете, вы поймете, где он делает множество предположений.
На данный момент:
Установите «Fiddler» и запустите его (из нового меню в IE) и посмотрите фактический трафик, проходящий по сети.
Или сначала обратитесь к DataContractSerializer. Создайте и сериализуйте некоторые классы в простом консольном приложении и поймите, что происходит, прежде чем задействовать WCF.
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractserializer.aspx
WCF, в очень грубом смысле, - это система для автоматического построения определений API (WSDL), установления сетевых соединений, (де) сериализации объектов и отправки их по соединению и маршрутизации их правильным методом в удаленном классе.
Сохраните тестовое приложение для дальнейшего устранения неполадок, когда вы неизбежно столкнетесь с ошибками WCF.
Всегда полезно знать, что ваши классы / контракты сериализуются без ошибок в тестовом буфере, и если они этого не делают, легче увидеть ошибки и решить проблему в консольном приложении, чем при использовании приложений WCF.
Люк