gifts2017

Получение ключевой ставки ЦБ РФ через web-сервис DailyInfo

Опубликовал Денис (xrrg) в раздел Программирование - Практика программирования

К сожалению не удалось найти метод для получения ключевой ставки вместе с датой начала действия, как это было сделано для ставки рефинансирования.
Определения = Новый WSОпределения("http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL"); 
Прокси = Новый WSПрокси(Определения, "http://web.cbr.ru/", "DailyInfo", "DailyInfoSoap"); 
ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://web.cbr.ru/").Получить("AllDataInfoXML"); 
WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра); РезультатXDTO = Прокси.AllDataInfoXML(WSПараметр); 
ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку(); 
Прокси.ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, РезультатXDTO.AllDataInfoXMLResult.AllData.KEY_RATE);
СтрокаXML = ЗаписьXML.Закрыть();

Если в этом коде заменить AllDataInfoXML на MainInfoXML и AllDataInfoXMLResult.AllData.KEY_RATE на MainInfoXMLResult.RegData.stavka_ref, то получим "старое, доброе" значение ставки рефинансирования.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Евгений Нагайцев (nagaitseff) 19.08.16 09:02
По вашему решению, по первому варианту возвратил результат ставки:

Функция ПолучитьСтавкуРефинансифрования()
    Определения        = Новый WSОпределения("http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL"); 
    Прокси            = Новый WSПрокси(Определения, "http://web.cbr.ru/", "DailyInfo", "DailyInfoSoap"); 
    ТипWSПараметра    = Прокси.ФабрикаXDTO.Пакеты.Получить("http://web.cbr.ru/").Получить("AllDataInfoXML"); 
    WSПараметр        = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра); 
    РезультатXDTO     = Прокси.AllDataInfoXML(WSПараметр); 
    
    КлючеваяСтавка = Число(РезультатXDTO.AllDataInfoXMLResult.AllData.KEY_RATE.val);
    
    Возврат КлючеваяСтавка;
    
КонецФункции
...Показать Скрыть
2. Владимир Гричук (vgrichuk) 10.11.16 17:23
ЦБ перестал отдавать этот вебсервис по http, только по https. Для исправления надо сделать в коде небольшие изменения:
ssl1 = Новый ЗащищенноеСоединениеOpenSSL();
Определения = Новый WSОпределения("https://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL",,,,,ssl1);
Прокси = Новый WSПрокси(Определения,"http://web.cbr.ru/","DailyInfo","DailyInfoSoap",,,ssl1);

далее всё по-старому
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа