Работа с вебсервисами Росреестра

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Leonid_1981
Новоприбывший
Сообщения: 11
Зарегистрирован: 29 апр 2015, 17:52
Репутация: 1

Re: Работа с вебсервисами Росреестра

Сообщение Leonid_1981 » 29 апр 2015, 17:54

при обращении к сервису "https://portal.rosreestr.ru:4433/cxf/External?wsdl" отлавливаю exception:

Error!
Прослушивание на http://10.129.224.45:8080/cxf/External не выполняла ни одна конечная точка, которая могла бы принять сообщение. Среди прочих причин это могло быть вызвано неправильным адресом или действием SOAP. Подробнее см. в описании InnerException (если имеется).
Exception:
System.Net.WebException: Невозможно соединиться с удаленным сервером ---> System.Net.Sockets.SocketException: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера 10.129.224.45:8080
в System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
в System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- Конец трассировки внутреннего стека исключений ---
в System.Net.The thread 0xb10 has exited with code 259 (0x103).
The thread 0x1af8 has exited with code 259 (0x103).
The program '[3292] WebServiceTutorial.vshost.exe: Program Trace' has exited with code 0 (0x0).
The program '[3292] WebServiceTutorial.vshost.exe' has exited with code 0 (0x0).
HttpWebRequest.GetRequestStream(TransportContext& context)
в System.Net.HttpWebRequest.GetRequestStream()
в System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()

Мой код:

Public Class WebServiceForm

Private Sub WebServiceForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Dim req As New ServiceReferenceRosReestr.createRequestIn()
Dim trt As New ServiceReferenceRosReestr.createRequestOut()
Dim snd As New ServiceReferenceRosReestr.ExternalSEIClient()

req.okato = 60401000000 ' ОКАТО
req.region = 61 ' регион в который необходимо отправить заявление
req.requestType = 558101010000 ' Запрос о предоставлении сведений, внесенных в государственный кадастр недвижимости
req.requestData = IO.File.ReadAllBytes("C:\REQ_54de93c8-e21a-4ec7-adea-2df6daec504f.zip" ;)

Try
trt = snd.createRequest(req)
Dim rNum = trt.requestNumber
Dim sts = trt.status
MsgBox("rNum = " & rNum.ToString() & "; sts = " & sts.ToString() & ";" ;)
Catch ex As Exception
MsgBox("Error!" & vbCrLf & ex.Message & vbCrLf & "Exception:" & vbCrLf & ex.InnerException.ToString())
Me.Close()
End Try

End Sub

End Class

Помогите пожалуйста и заранее большое спасибо!

grig27
Участник
Сообщения: 76
Зарегистрирован: 02 июл 2013, 13:36
Репутация: 1
Откуда: Екатеринбург

Re: Работа с вебсервисами Росреестра

Сообщение grig27 » 30 апр 2015, 12:23

Leonid_1981 писал(а):https://portal.rosreestr.ru:4433/cxf/External?wsdl" отлавливаю exception:
Вопрос по моему поднимался уже.

В сервисе не верно прописана конечная точка сервиса. Её нужно указать вручную https://portal.rosreestr.ru:4433/cxf/External

Leonid_1981
Новоприбывший
Сообщения: 11
Зарегистрирован: 29 апр 2015, 17:52
Репутация: 1

Re: Работа с вебсервисами Росреестра

Сообщение Leonid_1981 » 30 апр 2015, 16:44

Если в MS VS подставить в ссылку на сервис без ?wsdl и попытаться установить соединение, то выскакивает следующая ошибка.

There was an error downloading 'https://portal.rosreestr.ru:4433/cxf/Ex ... /$metadata'.
The request failed with the error message:
--
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelop ... tstring>No such operation: _vti_bin (HTTP GET PATH_INFO: /cxf/External/_vti_bin/ListData.svc/$metadata)</faultstring></soap:Fault></soap:Body></soap:Envelope>
--.
Metadata contains a reference that cannot be resolved: 'https://portal.rosreestr.ru:4433/cxf/External'.
Could not establish secure channel for SSL/TLS with authority 'portal.rosreestr.ru:4433'.
The request was aborted: Could not create SSL/TLS secure channel.
If the service is defined in the current solution, try building the solution and adding the service reference again.

Leonid_1981
Новоприбывший
Сообщения: 11
Зарегистрирован: 29 апр 2015, 17:52
Репутация: 1

Re: Работа с вебсервисами Росреестра

Сообщение Leonid_1981 » 30 апр 2015, 16:47

в App.config сервис стоит без ?wsdl. Хотя автоматически был сгенерирован адрес http://10.129.224.45:8080/cxf/External, по этому адресу выплывает другая ошибка, там вообще никуда достучаться невозможно.

Есть у кого нибудь рабочий образец, чтобы ответ пришел именно в виде результата метода сервиса:

Dim rNum = reqOut.requestNumber
Dim s = reqOut.status

,пусть даже и негативный, но от метода.

Заранее большое человеческое.

Leonid_1981
Новоприбывший
Сообщения: 11
Зарегистрирован: 29 апр 2015, 17:52
Репутация: 1

Re: Работа с вебсервисами Росреестра

Сообщение Leonid_1981 » 05 май 2015, 15:02

Веб Сервисы Росреестра. Шаг за шагом.

1. Необходимо получить(купить) действующий сертификат в одном из "Удостоверяющих центров".
https://rosreestr.ru/site/activity/obes ... -ot-27-03/

2. Необходимо приобрести ключ (Там. же)

3. Установить сертификаты и ПО для работы с ключом. Через MMC. Импортировать вручную, по двойному клику ставится не всегда в нужное место. Инструкции по установке бывают часто на сайтах УЦ.

4. Ссылка на сервис: https://portal.rosreestr.ru:4433/cxf/External?wsdl
Правой кнопкой на проекте -> Добавить -> Ссылка на сервис -> Вбить вышеприведенную ссылку. Если сертификаты и ПО из п.3 установлены верно - появятся методы сервисов, собственно, он успешно вклеится и сгенерит методы и классы в Visual Studio.

Файл App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="soap1.1Binding" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="Transport">
<transport clientCredentialType="Certificate" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>

</basicHttpBinding>
</bindings>
<client>

<endpoint address="https://portal.rosreestr.ru:4433/cxf/External"
behaviorConfiguration="credentialConfiguration" binding="basicHttpBinding" bindingConfiguration="soap1.1Binding"
contract="ServiceReference1.ExternalSEI" name="ExternalWSSoap1.1Port" />
</client>

<behaviors>
<endpointBehaviors>
<behavior name="credentialConfiguration">
<clientCredentials>

<clientCertificate

findValue="ОТПЕЧАТОК ВЫДАННОГО ВАМ СЕРТИФИКАТА"
storeLocation="CurrentUser"
x509FindType="FindByThumbprint"/>

</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>

</system.serviceModel>

</configuration>

Пример соединения (комментарии переводить лень, писал их для себя, интуитивно они ясны) Файл взял из описания сервиса.
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

' https://portal.rosreestr.ru:4433/cxf/External?wsdl
' https://portal.rosreestr.ru:4433/cxf/External

Dim req As New ServiceReference1.createRequestIn()
req.okato = "41000000000"
req.region = "61"
req.requestType = "558102100000"
req.requestData = IO.File.ReadAllBytes("C:\REQ_f174f7e8-901f-4d9f-83da-693dc676e37f.zip")
Dim trt As New ServiceReference1.createRequestOut()
Dim send As New ServiceReference1.ExternalSEIClient("ExternalWSSoap1.1Port")

' Declaration of information request statements
Dim result As New ServiceReference1.getEventsIn()
Dim resultDetails As New ServiceReference1.loadEventDetailsIn()

' Getting previous results data, setting initial data.
' the empty .getEvents("") method returns next values:
' - Events:
' - - EventDate;
' - - Event ID;
' - - EventType
' - - RequestNumber.
' - Status:
' - - Message; ' Nothing if no error
' - - Result. ' True if no error

' loadEventDetails(EventID) returns following data:
' - Binary ' Nothing if no data
' - DetailsXML ' Information message
' - Status:
' - - Message; ' Nothing if no error
' - - Result. ' True if no error

Dim resLen As Integer = send.getEvents(result).events.Length
Dim resDet(resLen) As String
Dim msgRes(resLen) As String
Dim binData(resLen) As Object
For index As Integer = 0 To (resLen - 1)
resDet(index) = send.getEvents(result).events(index).eventID.ToString() ' get event ID
resultDetails.eventID = resDet(index)
Dim xmlElement = XElement.Parse(send.loadEventDetails(resultDetails).detailsXML.ToString())
binData(index) = send.loadEventDetails(resultDetails).binary
msgRes(index) = xmlElement.Element("message").Value.ToString()
Console.WriteLine(index.ToString() & " Message: " & msgRes(index))
TextBoxStatus.AppendText(index.ToString() & ". " & msgRes(index) & Environment.NewLine)
Next

'the code below is working example of sending request to web service
'Try
' trt = send.createRequest(req)
' Dim rNum = trt.requestNumber
' Dim s = trt.status
' MsgBox("rNum = " & rNum.ToString() & "; res = " & s.result.ToString() & ";")
'Catch ex As Exception
' Dim dc = ex.Data.Count.ToString()
' Dim hr = ex.HResult.ToString()
' MsgBox("Error!" & vbCrLf & ex.Message & vbCrLf & "Exception:" & vbCrLf & ex.InnerException.ToString() & vbCrLf & "Data Count:" & vbCrLf & dc.ToString() & vbCrLf & "HResult:" & vbCrLf & hr.ToString())
' Console.WriteLine("Error!" & vbCrLf & ex.Message & vbCrLf & "Exception:" & vbCrLf & ex.InnerException.ToString() & vbCrLf & "Data Count:" & vbCrLf & dc & vbCrLf & "HResult:" & vbCrLf & hr)
'End Try
End Sub


З.Ы. Последние строки убрал под комментарий, чтобы не плодить запросы.

Всех Благ!

Leonid_1981
Новоприбывший
Сообщения: 11
Зарегистрирован: 29 апр 2015, 17:52
Репутация: 1

Re: Работа с вебсервисами Росреестра

Сообщение Leonid_1981 » 05 май 2015, 15:02

Веб Сервисы Росреестра. Шаг за шагом.

1. Необходимо получить(купить) действующий сертификат в одном из "Удостоверяющих центров".
https://rosreestr.ru/site/activity/obes ... -ot-27-03/

2. Необходимо приобрести ключ (Там. же)

3. Установить сертификаты и ПО для работы с ключом. Через MMC. Импортировать вручную, по двойному клику ставится не всегда в нужное место. Инструкции по установке бывают часто на сайтах УЦ.

4. Ссылка на сервис: https://portal.rosreestr.ru:4433/cxf/External?wsdl
Правой кнопкой на проекте -> Добавить -> Ссылка на сервис -> Вбить вышеприведенную ссылку. Если сертификаты и ПО из п.3 установлены верно - появятся методы сервисов, собственно, он успешно вклеится и сгенерит методы и классы в Visual Studio.

Файл App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="soap1.1Binding" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="Transport">
<transport clientCredentialType="Certificate" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>

</basicHttpBinding>
</bindings>
<client>

<endpoint address="https://portal.rosreestr.ru:4433/cxf/External"
behaviorConfiguration="credentialConfiguration" binding="basicHttpBinding" bindingConfiguration="soap1.1Binding"
contract="ServiceReference1.ExternalSEI" name="ExternalWSSoap1.1Port" />
</client>

<behaviors>
<endpointBehaviors>
<behavior name="credentialConfiguration">
<clientCredentials>

<clientCertificate

findValue="ОТПЕЧАТОК ВЫДАННОГО ВАМ СЕРТИФИКАТА"
storeLocation="CurrentUser"
x509FindType="FindByThumbprint"/>

</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>

</system.serviceModel>

</configuration>

Пример соединения (комментарии переводить лень, писал их для себя, интуитивно они ясны) Файл взял из описания сервиса.
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

' https://portal.rosreestr.ru:4433/cxf/External?wsdl
' https://portal.rosreestr.ru:4433/cxf/External

Dim req As New ServiceReference1.createRequestIn()
req.okato = "41000000000"
req.region = "61"
req.requestType = "558102100000"
req.requestData = IO.File.ReadAllBytes("C:\REQ_f174f7e8-901f-4d9f-83da-693dc676e37f.zip")
Dim trt As New ServiceReference1.createRequestOut()
Dim send As New ServiceReference1.ExternalSEIClient("ExternalWSSoap1.1Port")

' Declaration of information request statements
Dim result As New ServiceReference1.getEventsIn()
Dim resultDetails As New ServiceReference1.loadEventDetailsIn()

' Getting previous results data, setting initial data.
' the empty .getEvents("") method returns next values:
' - Events:
' - - EventDate;
' - - Event ID;
' - - EventType
' - - RequestNumber.
' - Status:
' - - Message; ' Nothing if no error
' - - Result. ' True if no error

' loadEventDetails(EventID) returns following data:
' - Binary ' Nothing if no data
' - DetailsXML ' Information message
' - Status:
' - - Message; ' Nothing if no error
' - - Result. ' True if no error

Dim resLen As Integer = send.getEvents(result).events.Length
Dim resDet(resLen) As String
Dim msgRes(resLen) As String
Dim binData(resLen) As Object
For index As Integer = 0 To (resLen - 1)
resDet(index) = send.getEvents(result).events(index).eventID.ToString() ' get event ID
resultDetails.eventID = resDet(index)
Dim xmlElement = XElement.Parse(send.loadEventDetails(resultDetails).detailsXML.ToString())
binData(index) = send.loadEventDetails(resultDetails).binary
msgRes(index) = xmlElement.Element("message").Value.ToString()
Console.WriteLine(index.ToString() & " Message: " & msgRes(index))
TextBoxStatus.AppendText(index.ToString() & ". " & msgRes(index) & Environment.NewLine)
Next

'the code below is working example of sending request to web service
'Try
' trt = send.createRequest(req)
' Dim rNum = trt.requestNumber
' Dim s = trt.status
' MsgBox("rNum = " & rNum.ToString() & "; res = " & s.result.ToString() & ";")
'Catch ex As Exception
' Dim dc = ex.Data.Count.ToString()
' Dim hr = ex.HResult.ToString()
' MsgBox("Error!" & vbCrLf & ex.Message & vbCrLf & "Exception:" & vbCrLf & ex.InnerException.ToString() & vbCrLf & "Data Count:" & vbCrLf & dc.ToString() & vbCrLf & "HResult:" & vbCrLf & hr.ToString())
' Console.WriteLine("Error!" & vbCrLf & ex.Message & vbCrLf & "Exception:" & vbCrLf & ex.InnerException.ToString() & vbCrLf & "Data Count:" & vbCrLf & dc & vbCrLf & "HResult:" & vbCrLf & hr)
'End Try
End Sub


З.Ы. Последние строки убрал под комментарий, чтобы не плодить запросы.

Всех Благ!

Kudryavtseva
Новоприбывший
Сообщения: 4
Зарегистрирован: 07 окт 2014, 13:39
Репутация: 0

Re: Работа с вебсервисами Росреестра

Сообщение Kudryavtseva » 28 май 2015, 12:11

Подскажите, кто-нибудь уже отправлял по вебсервису заявления по схеме StatementGKN_v01 ? Поделитесь примером удачно прошедшего заявления, пожалуйста. Или укажите на ошибку. У нас старая форма со вчерашнего дня перестала проходить, пробовала по новой схеме доп.документы к заявке отправить - получаю ответ:"Не найдены файлы запроса." Техподдержка Росреестра молчит :(

P.S. Получила ответ от техподдержки - ошиблась в префиксе файла, вместо req написала reg. Переименовала, отправила - ушло, проверка не пройдена - "неизвестный тип заявления"
Вложения
reg_258EC5EA-59B4-4D32-90F3-5EF209B40FEC.zip
Отправляла вот это заявление:
(3.59 МБ) 661 скачивание

alt0
Интересующийся
Сообщения: 18
Зарегистрирован: 01 мар 2015, 11:44
Репутация: 13

Re: Работа с вебсервисами Росреестра

Сообщение alt0 » 07 июн 2015, 12:17

Здравствуйте, Kudryavtseva!

Ранее я уже писал, правда расписывал тему по запросам сведений, т.к. нам край как нужны КВОКС:
Есть и неожиданная новость. 05.03.2015г. Технокад-экспресс обновил схемы, появилась неведомая науке 18 версия заявления V18_CR_ZC_REQ_Request, на сайте Росреестра её нет, а 17 версия неактуальна, потому и бьемся с RequestGKN_v03.

Но с 26 мая веб-сервисы учета стали требовать соответствие 18 схеме заявлений, сначала встали допы (558101030000), а потом докрутили и постановку ОКС (558101020000).

Сама схема есть в Технокад-Экспрессе, официально опубликованной я её так и не видел, вот она:
https://goo.gl/cNYz3R

С Уважением,
Данченко Павел

Kudryavtseva
Новоприбывший
Сообщения: 4
Зарегистрирован: 07 окт 2014, 13:39
Репутация: 0

Re: Работа с вебсервисами Росреестра

Сообщение Kudryavtseva » 18 июн 2015, 09:37

alt0, Павел, огромное спасибо. Заявление по 18 схеме принято в работу.

alt0
Интересующийся
Сообщения: 18
Зарегистрирован: 01 мар 2015, 11:44
Репутация: 13

Re: Работа с вебсервисами Росреестра

Сообщение alt0 » 19 июн 2015, 03:54

Здравствуйте, Kudryavtseva!

Обратите внимание, что 11 июня 2015г. из каталогов схем:
https://rosreestr.ru/site/fiz/postavit- ... ml-skhemy/
были вовсе удалены все схемы, которые вводились приказом Росреестра № п662 от 31.12.2014г.

ps: А 18 схемы заявления так и нет))

С Уважением,
Данченко Павел

alt0
Интересующийся
Сообщения: 18
Зарегистрирован: 01 мар 2015, 11:44
Репутация: 13

Re: Работа с вебсервисами Росреестра

Сообщение alt0 » 28 июн 2015, 18:33

Доброго Всем!

Тем временем Росреестр 20 июня вернул загадочные схемы, у нас же все их ходы записываются)
http://www.changedetection.com/log/ru/r ... y_log.html
Только работающей 18 схемы электронных заявлений так официально и нет)

У меня вопрос, кто-нибудь запускал в работу электронные заявления о внесении в ГКН сведений о ранее учтенных объектах недвижимости или об исправлении технической ошибки?

С Уважением,
Данченко Павел

boom
Интересующийся
Сообщения: 18
Зарегистрирован: 07 май 2014, 12:24
Репутация: 0

Re: Работа с вебсервисами Росреестра

Сообщение boom » 07 окт 2015, 07:07

Здравствуйте!

Подскажите пожалуйста тестовую площадку сервиса Росреестра прямого доступа

Нашел файлик с описанием этого сервиса и там указан https://test-ext.egron.net:4433/cxf/External?wsdl, но эта ссылка не работает, а тестировать сразу на рабочем сервисе както нехорошо

Alex16
Новоприбывший
Сообщения: 1
Зарегистрирован: 20 ноя 2015, 12:19
Репутация: 0

Re: Работа с вебсервисами Росреестра

Сообщение Alex16 » 20 ноя 2015, 13:24

Добрый день, коллеги!
Подскажите, пожалуйста, рабочую версию запроса данных из ГКН (нужны кадастровая выписка и паспорт).

Пробую собрать xml согласно схеме RequestGKN_v03, но постоянно утыкаюсь в сообщение: указанное пространство имен "" отличается от targetNamespace urn://x-artefacts-rosreestr-gov-ru/requests/gkn/3.0.9 схемы. Для данной схемы не нашёл рабочих примеров.
Нашёл примеры запроса <eDocument GUID="..." Version="1.03"/>, но нигде не могу найти схему для данной версии, чтобы проверить.

В Росреестр обращался, но письма мои не доходят, а при попытке проконсультироваться по телефону девушка предложила обратиться в кадастровую палату.

kinjo
Новоприбывший
Сообщения: 2
Зарегистрирован: 07 июн 2016, 14:36
Репутация: 0

Re: Работа с вебсервисами Росреестра

Сообщение kinjo » 07 июн 2016, 14:37

Я получаю
ERR_SSL_VERSION_OR_CIPHER_MISMATCH

kinjo
Новоприбывший
Сообщения: 2
Зарегистрирован: 07 июн 2016, 14:36
Репутация: 0

Re: Работа с вебсервисами Росреестра

Сообщение kinjo » 08 июн 2016, 13:07

kinjo писал(а):Я получаю
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
На самом деле я попытался это
ERR_SSL_VERSION_OR_CIPHER_MISMATCH – Solutions Encyclopedia
и теперь мой интернет не работает
пожалуйста помоги

Ответить

Вернуться в «Общий - ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей