×Закрыть

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

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


    Веб - сервис: 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