Гораздо проще и правильнее воспользоваться WCF. Создаете проект, кликаете правой кнопкой на на References в дереве проекта, выбираете "Add Service Reference". В окне сверху указываете путь к wsdl, а внизу пространство имен в котором создастся прокси-объект. Я, например, указал namespace "KassirService". Далее что-то подобное:
static void Main(string[] args)
{
var client = new KassirService.VenueServiceClient();
client.Open();
var list = client.getEventList();
foreach (var evt in list)
{
Console.WriteLine(evt.name);
}
Console.ReadLine();
}
К сожалению, выполнение этого кода вызывает FaultException (что значит, что исключение инициировано логикой сервиса) с текстом "An error was discovered processing the header". Полагаю, что для доступа к сервису требуются учетные данные, которые можно указать как-то так:
client.ClientCredentials.UserName.UserName = "webServiceUserName";
client.ClientCredentials.UserName.Password = "webServicePassword";
Посмотрите так же, что есть в сети по этому исключению. Например
это. Еще есть реализация своего заголовка
тут.