Веб - сервис для получения данных регионального раздела
Веб - сервис для получения данных регионального раздела
Веб - сервис: 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 | VB 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