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

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

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


Веб - сервис: 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 .NETVB 6 & VB Script
Создайте 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

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