C # подключиться и войти в веб-службу betfair.com (новичок) - PullRequest
0 голосов
/ 19 июня 2011

Я пытаюсь подключиться к следующему веб-сервису betfair.com. https://api.betfair.com/global/v3/BFGlobalService.wsdl
По сути, я просто хочу войти и отобразить эту информацию в окне консоли.

Я сделал это с PHP, и это было так просто, но я новичок в C # и у меня возникают проблемы с запуском.
По сути, я хочу войти в систему и отобразить на экране токен сеанса, полученный от веб-службы.

Я добавил ссылку на веб-сервис к решению в visual studio .net 2010. В PHP у нас был только один запрос к веб-сервису, и он возвращал данные в виде объекта. Но похоже, что в C # я должен сделать 2 вызова, запрос и ответ? Это правильно?

Извините, я новичок в c #, но я вижу большой потенциал с языком, мне действительно нужны некоторые базовые рекомендации о том, как действовать.

В настоящее время я добавил веб-службу в свое решение. Каковы основные действия, которые необходимо выполнить для входа в систему и получения токена сеанса.

Дополнительную информацию о веб-службе Betfair можно найти здесь:
http://bdp.betfair.com/index.php?option=com_weblinks&catid=59&Itemid=113

Я попытался просмотреть примеры приложений, предоставленных через betfair, но они настолько сложны, что я просто хочу получить самый простой способ использовать веб-сервис и войти в систему для получения токена сеанса.

Спасибо

EDIT
Я пытался что-то вроде этого.

class Program
{
    public static string username = "username";
    public static string password = "password";
    public static int softwareId = 82;
    public static int productId = 0;


    private static BFGlobalService m_globalService;

    static void Main(string[] args)
    {
        m_globalService = new BFGlobalService();

    }

    static void Login()
    {
        LoginReq req = new LoginReq();
        req.username = username;
        req.password = password;
        req.productId = productId;
        req.vendorSoftwareId=softwareId;

        LoginResp resp = m_globalService.login(req);

        Console.WriteLine(resp.minorErrorCode);
        Console.ReadKey();
    }
}

Но я нуб, поэтому я даже не знаю, правильно ли это !!

Было бы здорово помочь мне подняться с ног !! Плюс простое объяснение, если что-нибудь сложное.

Спасибо !!

РЕДАКТИРОВАТЬ: Решение Мне пришлось заменить эти 4 строки в конце.

        string st = resp.errorCode.ToString();
        string sessTok = resp.header.sessionToken;

        Console.WriteLine(st + " " + sessTok);
        Console.ReadKey();

Ответы [ 2 ]

1 голос
/ 06 июля 2011

Возможно, вы захотите скачать это приложение. http://forum.bdp.betfair.com/attachment.php?s=18f39758fa8c2e850b27cf2d524903ed&attachmentid=20&d=1235565908

Это эталонная реализация от Betfair в C #.

Это действительно хороший фундамент для начала. Он имеет логины, асинхронные вызовы, реализацию и навигацию по различным рынкам, а также способы размещения ставок. Я продлил это сам, это действительно очень хорошо

0 голосов
/ 19 июня 2011

Вы никогда не вызываете свой метод входа.Попробуйте это:

static void Main(string[] args)
{
    m_globalService = new BFGlobalService();

    Login(); // calling your login method here...
}

Также: я не знаком с этим API, но держу пари, что вам не хватает вызова инициализации между созданием объекта BFGlobalService и вызовом его метода Login.

ЗдесьВот несколько указателей для начала работы с C #:

  • Используйте свойства, а не открытые переменные
  • Используйте обработку исключений try / catch для вызовов веб-службы
  • Постарайтесь не выполнять слишком много работы в своей основной функции.(Я знаю, что вы только начинаете, но хорошо потренироваться делать все правильно.) У вас должен быть отдельный класс, который Main создает и вызывает, чтобы инициировать взаимодействие с вашим веб-сервисом.
...