Службы WCF присутствуют в платформах .NET 3.0 и 3.5. В то время как ваш сервис будет выполняться во время выполнения 2.0 (.NET 3.0 и 3.5 являются просто дополнительными уровнями для инфраструктуры 2.0), пока он сериализует типы, которые легко понять (то есть могут быть преобразованы в базовые типы, такие как строки и целые числа), все хорошо. Фактически, Java-клиент может вызывать службу WCF, поскольку на уровне проводной сети важно соблюдение общепринятых спецификаций, например, SOAP 1.1.
В клиенте форм Windows необходимо создать ссылку на службу с помощью wsdl.exe (или с помощью мастера добавления веб-ссылок в Visual Studio). Насколько он знает, он выглядит как любой веб-сервис ASP.NET.
Теперь использование basicHttpBinding - это еще не все, чтобы обеспечить совместимость вашей службы с клиентами, не являющимися WCF. Вы также должны быть уверены, что придерживаетесь DataContractSerializer или XmlSerializer. Вам следует избегать использования NetDataContractSerializer, поскольку для этого необходимо, чтобы типы были общими как для службы, так и для клиента. Не то чтобы это нельзя было сделать, но вы должны убедиться, что ваши типы находятся в сборке .NET 2.0 и не используют функциональность, доступную только в версии 3.0 или более поздней (например, System.Core).