![]() |
|
Как прочитать ответ от WEB-сервиса Почты России | ☑ | ||
---|---|---|---|---|
0
alex-79
06.07.20
✎
15:37
|
Здравствуйте!
Как распарсить ответ от web-сервиса Почты России? текЗапрос = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); текЗапрос.Open("POST", "http://tracking.russianpost.ru/fc?wsdl", 0); текЗапрос.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); XMLБилет = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:pos=""http://fclient.russianpost.org/postserver""> |<soapenv:Header/> |<soapenv:Body> | <pos:answerByTicketRequest> | <ticket>" + Билет + "</ticket> | <login>"+рЛогин+"</login> | <password>"+рПароль+"</password> | </pos:answerByTicketRequest> |</soapenv:Body> |</soapenv:Envelope>"; текЗапрос.Send(XMLБилет); текЗапрос.WaitForResponse(); ОтветСервера = текЗапрос.ResponseText; WEB-сервис присылает ответ в виде XML Пример https://i0.wampi.ru/2020/07/06/OTVET-WEB-SERVISA.png В 1С использую объект ЧтениеXML, но данный объект не умеет читать структура XML-строки присланной WEB-Сервисом. Файл с ответом web-сервиса https://cloud.mail.ru/public/9c5R%2FM7STyJgwt |
|||
1
Волшебник
модератор
06.07.20
✎
15:39
|
Создай пакет XDTO
|
|||
2
arsik
гуру
06.07.20
✎
15:50
|
(0) Стаж: 7 лет 10 месяцев 9 дней - а до сих пор гуглом не научили пользоваться.
http://catalog.mista.ru/public/311011/ |
|||
3
sitex
naïve
06.07.20
✎
15:57
|
(2) Может аккаунт продал)
|
|||
4
alex-79
06.07.20
✎
15:58
|
(1) XDTO не сложно создать, но в функции Фабрика.ПрочитатьXML в первый параметр нужно передавать значение объекта ЧтениеXML. При выполнении процедуры ЧтениеXML.УстановитьСтроку 1С выдает ошибку, что передаваема строка в параметре не того формата. В этом вся сложность.
|
|||
5
alex-79
06.07.20
✎
15:58
|
(3) Нет
|
|||
6
acht
06.07.20
✎
15:59
|
(0) Как это все печально...
Ты же в своей ветке Пакетное отслеживание посылок Почты России из 1С собственноручно давал ссылку на страницу с примерами, по которой специально, блд, для 1Сников, выложена конфигурация с примерами работы через CreateWSProxy. |
|||
7
alex-79
06.07.20
✎
16:02
|
(6) Нет не печально. CreateWSProxy только для одиночного запроса, а у меня пакетный. И этого куска кода в демо конфе нет. В демо конфе по пакетному запросу выдается номер билета и нужно после этого делать запрос по билету, чтобы получить список информацию по посылкам. Во этого куска кода там нет.
|
|||
8
alex-79
06.07.20
✎
16:08
|
(6) Вот пожалуйста по поводу WS ссылки в демо базе от Почты России https://i0.wampi.ru/2020/07/06/ws-SSYLKA.png
Только одиночный запрос. Пакетного нет. |
|||
9
alex-79
06.07.20
✎
16:10
|
Насколько я понимаю к строке ответа web-сервиса при чтении надо подсунуть ещё схему, чтобы 1С могла с помощью неё прочитать. Но не понимаю как сделать.
|
|||
10
acht
06.07.20
✎
16:11
|
falselight №2
|
|||
11
alex-79
06.07.20
✎
16:13
|
(10) Что это?
|
|||
12
sitex
naïve
06.07.20
✎
16:14
|
(9) А комментарии читал в (2) ?
|
|||
13
arsik
гуру
06.07.20
✎
16:24
|
(4) Ну вот загрузил твой пример. Все читает. Что нужно еще?
https://i.imgur.com/6qOkpCr.png |
|||
14
alex-79
06.07.20
✎
16:28
|
(13) Вот тут СокрЛП() надо использовать было
ЧтениеXML.УстановитьСтроку(СокрЛП(ОтветСервера)) Ужас! Из-за обрезки пробелов не читалось Спасибо за помощь! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |