• Весь сайт
Весь сайт
закрыть

Веб — сервис для получения данных регионального раздела

Веб — сервис для получения данных регионального раздела

Веб-сервис: http://www.cbr.ru/RegionWebServ/regional.asmx

Порядок работы:

Сценарий 1

  • Вызов OpenDataBase()
  • Добавление кодов регионов — AddRegion(Reg_code) можно несколько раз
  • Добавление индикаторовв — AddIndicators (Ind_code) можно несколько раз
  • Вызов SetDatesRange("01.01.2001", "01.01.2003") для установки периода
  • Вызов GetRawRegionData() — результат выполнения как DataSet XSD
  • Вызов Close()

Сценарий 2

  • Вызов OpenDataBase()
  • Добавление кодов регионов — AddRegion(Reg_code) можно несколько раз
  • Вызов ExecASXMLDocument (Year1,Year2,Ind_id) — результат выполнения как XMLDocument подобный результату аналитической системы регионального раздела
  • Вызов Close()

Дополнительные функции:

  • RegionsList() — получение списка регионов с их кодами (как DataSet) XSD, коды регионов используются для вызоваAddRegion(reg_code)
  • TablesList() — получение списка таблиц показателей с их кодами (как DataSet) XSD, коды таблиц используются для вызова IndicatorsList
  • IndicatorsList(Table_id) — получение списка показателей для таблицы с их кодами XSD, коды показателей используются при вызове AddIndicators (Ind_code), или при вызове ExecASXMLDocument
  • RegionCodeByName(Reg_name) — получение кодов регионов по названию региона
  • ClearIndicatorsList() — Удаление всех кодов индикаторов из списока, обратно AddIndicators
  • ClearRegionList() — Удаление всех кодов регионов из списока, обратно AddRegion
  • RetIndicatorDim(ind_code) — Получение размерности индикатора по его коду (руб,%)
  • GET_Error() — Получение сообщений об ошибках
  • swToEnglish(true) — Переключение на русск./англ. версию

Внимание: Все функции необходимо вызывать только после вызова OpenDataBase()

Примеры использования

VB .NET

Создайте web reference на http://www.cbr.ru/RegionWebServ/regional.asmx

 
	Sub StartIt
Dim DErr As Boolean
Dim r_name As String
Dim CookieK As New System.Net.CookieContainer()
WebSwc1 = New RegionalWebService.RegionInfoService()
WebSwc1.CookieContainer = CookieK
WebSwc1.AllowAutoRedirect = False
DErr = WebSwc1.OpenDataBase()
if Derr=false then
MsgBox ("Error" +CStr(WebSwc1.GET_Error))
end if
r_name="Брянская область"
codex = WebSwc1.RegionCodeByName(r_name)
If codex =-1 Then
MsgBox("Ошибка:" + CStr(WebSwc1.GET_Error) + " / " + r_name)
Exit Sub
End If
WebSwc1.AddRegion(codex)
codex = WebSwc1.IndicatorCodeByName("Количество действующих кредитных организаций", "Table1")
If codex = false Then
MsgBox("Ошибка:" + CStr(WebSwc1.GET_Error))
Exit Sub
End If
WebSwc1.AddIndicators(codex)
DErr = WebSwc1.SetDatesRange("01.01.2001", "01.01.2003")
If DErr = false Then
MsgBox("Ошибка:" + CStr(WebSwc1.GET_Error))
Exit Sub
End If
Dim ds As System.Data.DataSet
ds = WebSwc1.GetRawRegionData()
TextBox1.Text = ds.GetXml.ToString
DErr = WebSwc1.Close()
End Sub

VB 6 & VB Script

 
	Dim dom_sel As MSXML2.IXMLDOMSelection
soapclient = CreateObject("MSSOAP.SoapClient30?)
soapclient.ClientProperty("ServerHTTPRequest") = True
Call soapclient.MSSoapInit("http://www.cbr.ru/RegionWebServ/Regional.asmx?WSDL")
SoapClient.ClientProperty("ServerHTTPRequest") = True
Derr = soapclient.OpenDataBase()
if Derr=false then
rs = CStr(soapclient.GET_Error())
end if
reg_code = soapclient.RegionCodeByName("Брянская область")
if reg_code = ?1 then
Exit Sub
end if
If soapclient.AddRegion(reg_code) = False Then
Exit Sub
End If
ind_id=soapclient.IndicatorCodeByName("Количество действующих кредитных организаций", "Table1")
dom_sel = soapclient.ExecASXMLDocument(2002, 2003, ind_id)
MsgBox(dom_sel.context.xml)
Call soapclient.Close()

При работе без использования .NET Framework для доступа к веб сервису необходимо установить SOAP клиент и MSXML4.0 с сайта Microsoft:

Пример получения данных в MS Excel

Пример работы с веб-сервисом для получения данных регионального раздела на VB .NET RegionWebServDemo.zip

По вопросам: piter@mail.cbr.ru

Версия для печати