none
Прокси класс из wsdl с поддержкой проверки сертификата. RRS feed

  • Вопрос

  • Добрый день коллеги.

    Уже неделю не могу решить вопрос.

    Есть сайт (MVC3) с которого отправляется на сторонний web сервис soap запрос. Запрос строится на основе метода прокси класса, который в свою очередь построен на основе wsdl того самого стороннего сервиса. Этот запрос должен быть подписан сертификатом из файла. Так вот вопрос как это сделать?

    прокси класс: ShopServiceSoapClient();

    var client = new ShopServiceSoapClient();

    string patch = Server.MapPath("~");

    X509Certificate2 cer = new X509Certificate2(patch + "/Cert/cert.crt");

    при попытке написать:

    client.ClientCertificates.Add(cer), студия выдает ошибку, что нет такого свойства у прокси класса. В самом прокси классе - черт ногу сломит.. Копался в сети - нет ни примеров, ни похожих решений - ничего...., на PHP все делается одной строчкой, а здесь... Помогите.

    19 марта 2012 г. 15:45

Ответы

  • Попробуйте так 

    client.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(@"pathToFile.cer");

    Отпишитесь обязательно, получилось ли.


    • Изменено Alexandr Gashper 20 марта 2012 г. 15:12
    • Помечено в качестве ответа gasan_ibn 20 марта 2012 г. 18:17
    20 марта 2012 г. 14:59

Все ответы

  • Добрый день.

    client.ClientCredentials.ClientCertificate ... 

    Ссылка на MSDN ClientCredentials.ClientCertificate - свойство

    20 марта 2012 г. 4:57
  • Уважаемый пользователь,

    Пожалуйста, не забудьте отметить ответ, если он решит вашу проблему (кнопка 'Пометить как ответ' под каждым сообщением).

    Спасибо.


    Для связи [mail]

    20 марта 2012 г. 5:05
    Модератор
  • И все же друзья, как подписать запрос soap сертификатом?

    Сертификат храниться локально на в каталоге сайта. Свойство client.ClientCredentials.ClientCertificate.Certificate() - берет сертификат из хранилища, а мен надо из локальной папки, и то там нет нормалбного пояснения в MSDN как точно использолвать.

    Коллеги, есть ли у кого пример исполнения вышеизложенного вопроса? Уже из сил выбился искать. Помогите!

    20 марта 2012 г. 9:35
  • Попробуйте так 

    client.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(@"pathToFile.cer");

    Отпишитесь обязательно, получилось ли.


    • Изменено Alexandr Gashper 20 марта 2012 г. 15:12
    • Помечено в качестве ответа gasan_ibn 20 марта 2012 г. 18:17
    20 марта 2012 г. 14:59
  • Это чудо. Большое спасибо, все заработао сторонний сервис все "съел". Еще раз большие благодарности.
    20 марта 2012 г. 18:19