Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.08.2008(UTC) Сообщений: 204 Сказал «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Добрый день. Возникла необходимость получать списки сертификатов по заданным фильтрам с Центра Регистрации. Подскажите пожалуйста как можно подключиться к https://localhost/RA/RA.wsdl используя C# ? Пытались SoapClient30 raconn = new SoapClient30Class(); Но он ругается: Код:
Сбой при получении производства объектов класса COM для компонента с CLSID {7F017F97-9257-11D5-87EA-00B0D0BE6479} в результате следующей ошибки: 80040154.
ОС Windows 7 x64, Microsoft SOAP Toolkit 3.0.exe установлена. Отредактировано пользователем 2 сентября 2010 г. 15:20:37(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,732 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.08.2008(UTC) Сообщений: 204 Сказал «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Kirill Sobolev написал:http://forums.asp.net/t/1119052.aspx Спасибо. С этим я уже разобрался. Застрял на: Код:
Вызываем метод GetCACertificate. При этом SOAPClient30 не содержит
' кода реализации данного метода. Реализация формируется динамически по описанию,
' полученному из WSDL описания
GetCACertificate = oSoap.GetCACertificate(0)
Незнаю как в VB, а C# ругается на то, что он незнает что такое GetCACertificate. Вот кусок кода: Код:
SoapClient30 raconn = new SoapClient30Class();
raconn.MSSoapInit(RA_URL, "RA", "CertViewSoapPort", "");
raconn.set_ConnectorProperty("Timeout", "60000");
raconn.set_ConnectorProperty("SSLClientCertificateName", Admin_Cert);
string cacert = raconn.GetCACertificate();
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,732 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Нужно вызывать через InvokeMember. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.08.2008(UTC) Сообщений: 204 Сказал «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Kirill Sobolev написал:Нужно вызывать через InvokeMember. Как то так? Код:Object res = raconn.GetType().InvokeMember("GetCACertificate", BindingFlags.InvokeMethod, null, raconn, null);
У меня почему то выдает исключение: Код:Client:Incorrect number of parameters supplied for SOAP request
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,732 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Потому что у GetCACertificate есть 1 входной параметр. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.08.2008(UTC) Сообщений: 204 Сказал «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Kirill Sobolev написал:Потому что у GetCACertificate есть 1 входной параметр. Спасибо. Все получилось. Вот кусок кода, может кому пригодится. Код:
// URL адрес с wsdl файлом
string RA_URL = "https://localhost/RA/RA.wsdl";
// Сертификат оператора УЦ
string Admin_Cert = "CURRENT_USER\\My\\HornsOper";
SoapClient30 raconn = new SoapClient30Class();
raconn.MSSoapInit(RA_URL, "RA", "CertViewSoapPort", "");
raconn.set_ConnectorProperty("Timeout", "60000");
raconn.set_ConnectorProperty("SSLClientCertificateName", Admin_Cert);
raconn.set_ConnectorProperty("UseSSL",true);
// Первым параметром InvokeMember указываем требуемый метод согласно "Руководству программиста", последний параметр - это требуемые параметры метода.
Object res = raconn.GetType().InvokeMember("GetCACertificate", BindingFlags.InvokeMethod, null, raconn, new object[] { "0" });
string CA_Cert = res.ToString(); // Строка, содержащая сертификат УЦ
Отредактировано пользователем 2 сентября 2010 г. 19:45:57(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close