Я бы написал это как комментарий, но не смог понять, как это сделать, поэтому, наверное, я попытаюсь ответить.
Вы упомянули, что использовали встроенный тестовый клиент, но когда вы создали свое клиентское приложение (веб-сайт, с которого вы хотите вызывать новую службу), вы настроили его конечную точку (web.config) для соответствия концу ваш сервис wcf? Например, клиентское приложение, вызывающее службу wcf с конечной точкой wsHttpBinding:
<configuration>
<system.serviceModel>
<client>
<endpoint address="http://localhost:8080/ContractorService" binding="wsHttpBinding" contract="ContractorService.IContractorService"
name="ContractorService_WsHttp">
</endpoint>
</client>
</system.serviceModel>
Кроме того, ваша служба возвращает список, ссылка на службу по умолчанию , которую вы добавили своему клиенту, и, скорее всего, останавливается на массиве. Щелкните правой кнопкой мыши ссылку на службу, которую теперь имеет ваш клиент, и выберите «Настроить ссылку на службу», в раскрывающемся списке для типа коллекции вместо System.array выберите System.Collections.Generic.List.
Если вам нужны подробности о конфигурации, проверьте здесь http://msdn.microsoft.com/en-us/library/dd936243.aspx
Поместите точку останова в метод Page_Load вашего клиента, вы должны быть в состоянии пошагово пройти через ваш клиентский код, и он автоматически включится в вашу службу wcf, как только вы вызовете его метод, тогда вы сможете точно увидеть, где он выходит из строя.
Надеюсь, это поможет