Вход | Регистрация


1С:Предприятие ::

Метки:

Веб Сервис Почты России

Я
   Hipocrisy2013
 
11.03.13 - 11:32
Кто нибудь работал с веб сервисом почты россии? как с ним работать? как хоть что то от туда вытащить? кому интересно могу дать док где типо всё это описывается.
 
 
   Fragster
 
1 - 11.03.13 - 11:33
а сколько платишь и где ТЗ?
   Рамиль Маугли
 
2 - 11.03.13 - 11:36
Мне интересно. Raiml@yandex.ru
   Hipocrisy2013
 
3 - 11.03.13 - 11:41
я ни кого не нанамаю!!! док отправил
   garcevis
 
4 - 11.03.13 - 11:54
Мне интересно garcevis@mail.ru
   alexei366
 
5 - 11.03.13 - 11:54
Тыб хоть чонить описал, какое там апи (wsdl или чтото ещё), приблизительно цель свою изложить (что получать хочешь через апи).
   Hipocrisy2013
 
6 - 11.03.13 - 12:01
URL сервиса            http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory
допустим хочу вытащить все id отправлений пользователя за которого я подключился
   alexei366
 
7 - 11.03.13 - 12:13
Да уж чот в ихней wsdl концы с концами не найти, свойства все каки-ето пустые. Тут без документации не как походу
   Hipocrisy2013
 
8 - 11.03.13 - 12:16
alexei366 документация есть
   alexei366
 
9 - 11.03.13 - 12:17
выложи там на айфолдер или куды ещё, пусть все посмотрят, а то так каждому высылать.
   Hipocrisy2013
 
10 - 11.03.13 - 12:21
http://dfiles.ru/files/de5uwii7t ссылка на документацию
 
  Рекламное место пустует
   alexei366
 
11 - 11.03.13 - 12:46
Ну чо есть ШИ отправления и ИС-потребителя?
   alexei366
 
12 - 11.03.13 - 12:47
(7) а тут я ошибался, сам не с того конца смотреть начал*
   alexei366
 
13 - 11.03.13 - 13:04
Походу автор сам во всём разобрался
   Hipocrisy2013
 
14 - 13.03.13 - 16:19
Ни черта я не разобрался!!!
есть обработка
Процедура КнопкаВыполнитьНажатие(Кнопка)
    
 
   Определение = Новый WSОпределения(\"http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory?wsdl\");
   Прокси = Новый WSПрокси(Определение, \"http://russianpost.org/operationhistory\", \"OperationHistory\", \"OperationHistory\");
   Прокси.Пользователь = \"***\";
   Прокси.Пароль = \"***\";
       
   КонецПроцедуры

что дальше надо делать чтобы хоть что то от туда вытащить?
   pessok
 
15 - 13.03.13 - 16:31
(14) два дня процедуру писал?
   Hipocrisy2013
 
16 - 13.03.13 - 16:33
нет конечно, просто более приоритетнее были задачи, этим не занимался.
   pessok
 
17 - 13.03.13 - 16:36
(16) ну теперь соединяйся в веб-сервисом и по документации тащи нужные данные
   Hipocrisy2013
 
18 - 13.03.13 - 16:43
я не особо вкурил как это сделать
   zladenuw
 
19 - 13.03.13 - 16:44
Функция WSСервисЕврокарInit(ТекСервисEurocar) Экспорт
        
    Если ТекСервисEurocar = неопределено Тогда
        Попытка
            АдресВебСервиса = Константы.WS_АдресMainСервиса.Получить();
            Пользователь = Константы.WS_Eurocar_Login.Получить();
            Пароль = Константы.WS_Eurocar_Password.Получить();
            Определения = Новый WSОпределения(АдресВебСервиса + "?wsdl", Пользователь, Пароль);
               ТекСервисEurocar=Новый WSПрокси(Определения, "eurocar.com.ua", "Main", "MainSoap");
            ТекСервисEurocar.Пользователь = Пользователь;
            ТекСервисEurocar.Пароль = Пароль;
            Возврат 1;
        Исключение
        
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
    Иначе    
         Возврат 1;
    КонецЕсли;        
    
КонецФункции


а потом вызываешь

Пакет = СервисEurocar.GetCarInfoList(СОКРЛП(КодКузова));
     Если Пакет = Неопределено Тогда
           Возврат;
     КонецЕсли;
   pessok
 
20 - 13.03.13 - 16:50
(19) щас будет
Поле объекта не обнаружено:
Константы.WS_АдресMainСервиса

%)
   Hipocrisy2013
 
21 - 13.03.13 - 16:57
песок прав, куча неопределеных переменных
   braynt
 
22 - 13.03.13 - 16:59
да все там определено
   braynt
 
23 - 13.03.13 - 17:00
Адрес = \"http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory?wsdl\";
 
Определения = Новый WSОпределения(Адрес,Пользователь,Пароль);

   Прокси = Новый WSПрокси(Определения, \"http://russianpost.org/operationhistory\", \"OperationHistory\",\"OperationHistory\",30);
   Прокси.Пользователь = Пользователь;
   Прокси.Пароль = Пароль;
   
   НашПакет = Прокси.ФабрикаXDTO.Пакеты.получить(\"http://russianpost.org/operationhistory/data\");
   
       
   ТипФайл = Прокси.ФабрикаXDTO.Создать(НашПакет.получить(\"OperationHistoryRequest\"));
   
   ТипФайл.Barcode = \"EE801662121CN\";
   ТипФайл.MessageType = 1;
   
   
   ТипАвторизация = Прокси.ФабрикаXDTO.Создать(НашПакет.получить(\"AuthorizationHeader\"));
   ТипАвторизация.login    = Пользователь;
   ТипАвторизация.password = Пароль;
   ТипАвторизация.mustUnderstand  =Ложь;
   
   Ответ = Прокси.GetOperationHistory(ТипФайл,ТипАвторизация);    
   Сообщить(\"Кол записей \"+Ответ.historyRecord.Количество());
   pessok
 
24 - 13.03.13 - 17:00
(21) ОЛОЛО
   Hipocrisy2013
 
25 - 13.03.13 - 17:04
у меня нет констант
   Hipocrisy2013
 
26 - 13.03.13 - 17:05
да и вообще код бредовый я кроме логина и пароля ни чего не передаю, и что я должен получить?
   Hipocrisy2013
 
27 - 13.03.13 - 17:28
не могу вкурить что мне надо передать в метод
   braynt
 
28 - 13.03.13 - 17:54
Возникает ошибка((
    Ответ = Прокси.GetOperationHistory(ТипФайл,ТипАвторизация);    
по причине:
Ошибка вызова операции сервиса:  {http://russianpost.org/operationhistory}:OperationHistory:GetOperationHistory()
по причине:
Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://russianpost.org/operationhistory/data}OperationHistoryData - [1,302]
Проверка свойства 'historyRecord':
   форма: Элемент
   имя: {http://russianpost.org/operationhistory/data}historyRecord
   тип: {http://russianpost.org/operationhistory/data}OperationHistoryRecord
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://russianpost.org/operationhistory/data}OperationHistoryData - [1,302]
Проверка свойства 'historyRecord':
   форма: Элемент
   имя: {http://russianpost.org/operationhistory/data}historyRecord
   тип: {http://russianpost.org/operationhistory/data}OperationHistoryRecord
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://russianpost.org/operationhistory/data}OperationHistoryRecord - [1,302]
Проверка свойства 'AddressParameters':
   форма: Элемент
   имя: {http://russianpost.org/operationhistory/data}AddressParameters
   тип: {http://russianpost.org/operationhistory/data}AddressParameters
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://russianpost.org/operationhistory/data}AddressParameters - [1,302]
Проверка свойства 'OperationAddress':
   форма: Элемент
   имя: {http://russianpost.org/operationhistory/data}OperationAddress
   тип: {http://russianpost.org/operationhistory/data}Address
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://russianpost.org/operationhistory/data}Address - [1,302]
Проверка свойства 'Description':
   форма: Элемент
   имя: {http://russianpost.org/operationhistory/data}Description
   тип: {http://www.w3.org/2001/XMLSchema}string
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://russianpost.org/operationhistory/data}Address
Проверка свойства 'Description':
   форма: Элемент
   имя: {http://russianpost.org/operationhistory/data}Description
   тип: {http://www.w3.org/2001/XMLSchema}string
Не установлено значение одного из следующих свойств: Index
   braynt
 
29 - 14.03.13 - 11:28
up
   Hipocrisy2013
 
30 - 14.03.13 - 11:40
Разобрался я во всём, вот только остался такой вопрос, какое значение мне нужно ввести в элемент "MessageType" параметра"OperationHistoryRequest". В описание сказано что "MessageType" - Содержит имя ИС-потребителя данных (Ис - информационная система), а на схеме сказано что тип INT, отладка показывает тоже что тип число. Встаёт вопрос какое число я должен ввести? и где его взять? на чеке который выдаётся на почте перепробывал все числа - не работает.
   braynt
 
31 - 14.03.13 - 11:42
(30) 0 Поставь
   Hipocrisy2013
 
32 - 14.03.13 - 11:44
ставлю 0 вылетает ошибка, попробовал 1 ошибки нет, но результата нет
   Hipocrisy2013
 
33 - 14.03.13 - 11:45
"2" "3" тоже ошибка
 
 
   Bober
 
34 - 14.03.13 - 11:46
(30) Такие вещи нужно узнавать у саппорта этого сервиса.
   Hipocrisy2013
 
35 - 14.03.13 - 11:49
уже отправил письмо, но говорят что они отвечают около месяца
   braynt
 
36 - 14.03.13 - 12:16
(35) сообщи пожалуйста ответ
   Hipocrisy2013
 
37 - 14.03.13 - 13:30
ok
   Hipocrisy2013
 
38 - 14.03.13 - 14:12
ответ дали в виде примера ,там "MessageType" стоит "0", но у меня вылетает ошибка с нулём, "1" тока ошибку не выдаёт. Я малец наврал "1" выдаёт результат: выражение - РПО.historyRecord, свойство - historyRecord, значение - списокXDTO, тип - списокXDTO.
И как мне вытащить данные из этого списка?
код запроса:
Определение = Новый WSОпределения(\"http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory?wsdl\");
 
   Прокси = Новый WSПрокси(Определение, \"http://russianpost.org/operationhistory\", \"OperationHistory\", \"OperationHistory\");
   
   ТипWSПараметра = Прокси.ФабрикаXDTO.тип(\"http://russianpost.org/operationhistory/data\",\"AuthorizationHeader\");
   WSПараметр       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
   WSПараметр.login = \"***\";
   WSПараметр.password = \"***\";
   WSПараметр.mustUnderstand = истина;
   ТипWSПараметра2 = Прокси.ФабрикаXDTO.тип(\"http://russianpost.org/operationhistory/data\",\"OperationHistoryRequest\");
   WSПараметр2        = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра2);
   WSПараметр2.Barcode  = \"15301255701387\";
   WSПараметр2.MessageType = \"1\";
   РПО = Прокси.GetOperationHistory(WSПараметр2,WSПараметр);
   Hipocrisy2013
 
39 - 14.03.13 - 14:31
а и вытаскивать нечего список пуст(
   braynt
 
40 - 14.03.13 - 15:07
MessageType должно быть 0.
   Hipocrisy2013
 
41 - 14.03.13 - 15:26
разобрался в чём была ошибка. Ошибки больше нет, но ответ с веб сервиса пуст, он мне ничего не возвращает. Да и не понимаю в чём смысл от логина и пароля, если зная id посылки всю информацию можно посмотреть на сайте без логина и пароля
   braynt
 
42 - 14.03.13 - 15:53
(41) в чем была ошибка?
   Hipocrisy2013
 
43 - 14.03.13 - 16:03
порядок параметров в метод задал не в том порядке. Просто я сделал как мне показала 1с в wsссылке, а в документации по другому, сделал как в документации всё ок стало, но ответ с веб сервиса пуст. В документации сказано что атрибут элемента mustUnderstand - содержит признак обязательности передачи заголовка сообщения через SOAP Proxy, должен всегда иметь значение «TRUE». я сделал WSПараметр.mustUnderstand = истина;
Видно в чём то тут косяк
   Hipocrisy2013
 
44 - 14.03.13 - 16:05
Наверно прокси мозг канифолит, надо будет попробывать  с домашнего инета
   Hipocrisy2013
 
45 - 15.03.13 - 10:09
Определение = Новый WSОпределения(\"http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory?wsdl\");
 
   Прокси = Новый WSПрокси(Определение, \"http://russianpost.org/operationhistory\", \"OperationHistory\", \"OperationHistory\");
   
   ТипWSПараметра = Прокси.ФабрикаXDTO.тип(\"http://russianpost.org/operationhistory/data\",\"AuthorizationHeader\");
   AuthorizationHeader       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
   AuthorizationHeader.login = \"***\";
   AuthorizationHeader.password = \"***\";
   AuthorizationHeader.mustUnderstand = истина;
   ТипWSПараметра2 = Прокси.ФабрикаXDTO.тип(\"http://russianpost.org/operationhistory/data\",\"OperationHistoryRequest\");
   HistoryRequest        = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра2);
   HistoryRequest.Barcode  = \"15301255701387\";  
   HistoryRequest.MessageType = \"0\";
   РПО = Прокси.GetOperationHistory(AuthorizationHeader,HistoryRequest);

возвращается пустой список. В чём проблема? что интересное если изменить логин и пароль или вообще его задать пустым , никакой ошибки не вылетит, будет всё тоже самое, хотя в описании сказано что придёт сообщение об ошибки с её причиной
   eRik
 
46 - 15.03.13 - 10:26
сюда глянь, тут, правда, на пхп клиент этого самого НИИ почтовой связи, но разобраться можно
https://github.com/InJapan/russianpost-tracking

Header не заполняеется вообще, MessageType всегда 0
   Hipocrisy2013
 
47 - 15.03.13 - 11:25
если параметр авторизации вообще не передавать, то вылетает ошибка
   Hipocrisy2013
 
48 - 15.03.13 - 11:26
(46) в ссылке котору. ты дал написано что нужно сделат запрос на использование сервисом, написал письмо, буду ждать что ответят
   Hipocrisy2013
 
49 - 15.03.13 - 12:11
вычитал с инета:"Тут начинается самое интересное. Сервис этот доступен далеко не всем, но если у Вас (компании) есть договор с почтой, то шансы получить заветный доступ очень большие. В регламенте сервиса, который высылают счастливым подключенцам, эти самые подключенцы именуются «федеральным клиентом». Тут не знаю — то ли это особенный статус, то ли так обзывают всех у кого есть договор с почтой…

Как получить доступ

В общем берите мыло (желательно поэлектроннее) и в свободной форме пишите на fc@russianpost.ru, кто Вы, что Вам нужен «доступ к отслеживанию статусов РПО по SOAP протоколу» и для чего это Вам надо. За это Вам пришлют регламент, в котором будет анкета, которую нужно заполнить, в доме который построил Джек подписать руководителем и проштамповать печатью вашей конторы и заслать, в виде скана, взад.

После этого Вам дадут… логин и пароль (которые не активируют пока Вы не пожалуетесь, что ничего не пашет, ну или это нам только так не повезло…)."
Вот это бред, выдали логин и пароль так надо и ещё в техподдержке активировать!!!
 
 
   YF
 
50 - 15.03.13 - 12:28
...
   eRik
 
51 - 15.03.13 - 12:59
(49) это про другой сервис

там их два:
1 - для "частных" лиц - выдает данные по одному треку без авторизации (пока?)
http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory

2 - для "федеральных" клиентов - принимает пакеты запросов (до 1000 треков) и через 15 мин по регламенту отдает ответ. тут авторизация и все такое. вот для этого сервиса нужна обязательная регистрация
http://vfc.russianpost.ru:8080/FederalClient/ItemDataService
   Hipocrisy2013
 
52 - 15.03.13 - 13:51
может быть наоборот первый сервис с регистрацией а второй нет?
у меня есть логин и пароль который выдан при заключении договора, и дали ссылку на первый сервис
   eRik
 
53 - 15.03.13 - 14:52
нет, первый без регистрации.
у меня с декабря работает, ничего не просит.

вот сейчас посмотрел - работает первый, с пустым Header - никаких логинов/паролей.
   Hipocrisy2013
 
54 - 15.03.13 - 14:59
напиши свой код плз!!!т.е. просто в логин и пароль ни чего не задаёшь? я пробовал ни чего не задавать в логин и пароль та же тема, ответ пуст
   eRik
 
55 - 15.03.13 - 15:04
да у меня на пхп на сервере крутится, как в 1с будет хз.

в свое время переписывался с ними тоже как только не пытал его на предмет авторизации - думаю не криминал, если процитирую:

---
Добрый день!


Сервис работает без авторизации.

Адрес для доступа к сервису:

http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory

___________________________________

Дирекция технологий и информатизации
ФГУП «Почта России»
 ---------------------------------------
   eRik
 
56 - 15.03.13 - 15:09
AuthorizationHeader там быть не должно - Header должен быть совсем пустым
тамошний wsdl там вообще странный и походу не используется.
   Hipocrisy2013
 
57 - 15.03.13 - 15:12
в параметр авторизации ни чего не передаю, система не ругается, но ответ пуст, может это глюк 1с(
   eRik
 
58 - 15.03.13 - 15:19
надо смотреть, что за xml формируется для запроса.
скорее всего что-то там в Header все же засовывает, из-за чего и ответ пустой.

я в свое время пока совсем не почистил его - выдавало такое:

RESPONSE HEADERS:
HTTP/1.1 500 Internal Server Error
X-Powered-By: Servlet/3.0 JSP/2.2 (GlassFish Server Open Source
Edition 3.1.1 Java/Oracle Corporation/1.7)
Server: GlassFish Server Open Source Edition 3.1.1
 Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Date: Thu, 13 Dec 2012 10:29:52 GMT
 Proxy-Connection: close

RESPONSE:
 S:Server
 Ошибка авторизации

----
в 1с есть вообще чем посмотреть заголовки soap запросов?
   Hipocrisy2013
 
59 - 15.03.13 - 15:26
насчёт чем в 1с посмотреть аголовок soap хз, а вот ответ техподдержки на мою проблему:
Возможно причина в том, что у нас сейчас возникли проблемы с базой данных, но все должно восстановиться. Попробуйте повторить через некоторое время, все должно заработать.
Второй сервис (http://vfc.russianpost.ru:8080/FederalClient/ItemDataService)  предназначен для крупных корпоративных клиентов (на основании имеющегося договора с ФГУП "Почта России" и предоставляется по другому регламенту и по другим авторизационным данным . Вам предоставлен доступ  по   адресу : http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory. Пример, к сожалению, выслала неактуальный, когда авторизация не требовалась.
   Hipocrisy2013
 
60 - 15.03.13 - 15:28
erik а данные с сервиса сразу приходят или надо ждёть, Если надо ждать то сколько?
   cw014
 
61 - 15.03.13 - 15:30
(23)

ТипЧотаПроизошло = Прокси.GetOperationHistory(ТипФайл,ТипАвторизация);    
    Сообщить("Ну тип, авторизация, ну тип файл, ну тип чота случилося "+ТипЧотаПроизошло.historyRecord.Количество());
   eRik
 
62 - 15.03.13 - 15:35
(60) да, сразу приходит, 1-2 сек в среднем на ответ.
сервис да, дагает частенько.
за 12 марта 35 раз скрипт отвалился по таймауту, вчера 6 раз, за сегодня пока 1 раз
   Hipocrisy2013
 
63 - 18.03.13 - 11:16
Кто нибудь может мне дать индификатор почтового отправления(рабочий)
   Hipocrisy2013
 
64 - 18.03.13 - 11:17
мне для проверки
   Mikeware
 
65 - 18.03.13 - 11:26
:-) 11548757005818
   Hipocrisy2013
 
67 - 18.03.13 - 12:28
ни фига не работает(
   Лефмихалыч
 
Модератор
68 - 18.03.13 - 12:29
конкретнее. Что именно не работает и как именно оно не работает.
сообщения вида (67) - это вандализм
   AndyR
 
69 - 18.03.13 - 12:36
(67) работает. SoapUI, шлю пакет, получаю непустой ответ:
<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:data=\"http://russianpost.org/operationhistory/data\">
 
  <soapenv:Header/>
  <soapenv:Body>
     <data:OperationHistoryRequest>
        <data:Barcode>11548757005818</data:Barcode>
        <data:MessageType>0</data:MessageType>
     </data:OperationHistoryRequest>
  </soapenv:Body>
</soapenv:Envelope>
   Hipocrisy2013
 
70 - 18.03.13 - 12:37
вот процедурка которая вызывает веб сервис:Определение = Новый WSОпределения("http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory?wsdl");
    Прокси = Новый WSПрокси(Определение, \"http://russianpost.org/operationhistory\", \"OperationHistory\", \"OperationHistory\");
 
   
   ТипWSПараметра = Прокси.ФабрикаXDTO.тип(\"http://russianpost.org/operationhistory/data\",\"AuthorizationHeader\");
   AuthorizationHeader       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
   AuthorizationHeader.login = \"IvTex\";
   AuthorizationHeader.password = \"vPZppPmIt5\";
   AuthorizationHeader.mustUnderstand = истина;
   ТипWSПараметра2 = Прокси.ФабрикаXDTO.тип(\"http://russianpost.org/operationhistory/data\",\"OperationHistoryRequest\");
   HistoryRequest        = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра2);
   HistoryRequest.Barcode  = \"15301255701387\";  
   HistoryRequest.MessageType = \"0\";
   РПО = Прокси.GetOperationHistory(AuthorizationHeader,HistoryRequest);
   //пп = РПО.historyRecord.количество();
   для каждого элемент из РПО.historyRecord цикл
       а= 0;
           КонецЦикла;

При вызове ни каких ошибок, все типы заданы, параметр задан, параметр передан, всё ок. Ответ приходит, но он пустой, количество элеметов 0. Пробывал искать через сайт, сайт ищет. По идеи веб сервис работает. В чём у меня пробле ма хз
   Hipocrisy2013
 
71 - 18.03.13 - 12:39
(67) ну ответ не пустой, historyrecord в качестве ответа приходит , но элементов нет
   AndyR
 
72 - 18.03.13 - 12:45
насколько знаю, к содержимому тэга header 1С доступа не имеет, а судя по wsdl именно там AuthorizationHeader и должен находиться. Т.е. сейчас на выходе из 1С AuthorizationHeader находится внутри body. Попробуйте вызвать так:
РПО = Прокси.GetOperationHistory(Неопределено,HistoryRequest);
   AndyR
 
73 - 18.03.13 - 12:46
(71) под непустым имел ввиду нечто такое:
<S:Envelope xmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\">
 
  <S:Body>
     <ns2:OperationHistoryData xmlns:ns2=\"http://russianpost.org/operationhistory/data\">
        <ns2:historyRecord>
           <ns2:AddressParameters>
              <ns2:DestinationAddress>
                 <ns2:Index>641701</ns2:Index>
                 <ns2:Description>Катайск, Катайский р-он, Курганская обл.</ns2:Description>
              </ns2:DestinationAddress>
              <ns2:OperationAddress>
                 <ns2:Index>153012</ns2:Index>
....
   AndyR
 
74 - 18.03.13 - 12:52
И еще: в 1С, насколько вижу, в вызове GetOperationHistory сначала в параметрах должно быть HistoryRequest, а потом AuthorizationHeader. Т.е.:

РПО = Прокси.GetOperationHistory(HistoryRequest, AuthorizationHeader);
   AndyR
 
75 - 18.03.13 - 13:20
Код:

    Опр = Новый WSОпределения(\"http://voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory?wsdl\");
 
   ПР = Новый WSПрокси(Опр,\"http://russianpost.org/operationhistory\", \"OperationHistory\", \"OperationHistory\");
   
   ХР = ПР.ФабрикаXDTO.Создать(ПР.ФабрикаXDTO.Тип(\"http://russianpost.org/operationhistory/data\",\"OperationHistoryRequest\"));
   ХР.BarCode = БК;
   ХР.MessageType = 0;
   
   АХ = ПР.ФабрикаXDTO.Создать(ПР.ФабрикаXDTO.Тип(\"http://russianpost.org/operationhistory/data\",\"AuthorizationHeader\"));
   АХ.mustUnderstand = Истина;
   АХ.login = \"IvTex\";
   АХ.password = \"vPZppPmIt5\";
   
   Ответ = ПР.GetOperationHistory(ХР, АХ);

отрабатывает. вызывается нужный метод, но вылетает с ошибкой:

Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://russianpost.org/operationhistory/data}OperationHistoryData - [1,319]
Проверка свойства 'historyRecord':
   форма: Элемент
   имя: {http://russianpost.org/operationhistory/data}historyRecord
   тип: {http://russianpost.org/operationhistory/data}OperationHistoryRecord
по причине:

....

по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://russianpost.org/operationhistory/data}Country
Проверка свойства 'NameRU':
   форма: Элемент
   имя: {http://russianpost.org/operationhistory/data}NameRU
   тип: {http://www.w3.org/2001/XMLSchema}string
Не установлено значение одного из следующих свойств: Code2A

Т.е. то что ПочтаРоссии возвращает - не соответствует их wsdl (как-то ожидаемо на общем уровне сервиса ПР).
Выходов, imho, 3:
а) Слить wsdl в файл, поправить его руками, чтобы Code2A мог быть пустым, сделать на основе правленного wsdl ссылку в 1С.
б) Подключаться к сервису через HTTPСоединение, парсить полученный ответ руками.
в) Написать в саппорт, пусть они правят свои косяки.
   Hipocrisy2013
 
76 - 18.03.13 - 13:34
(72) ошибка - обязательный параметр не задан.
(74) тоже так раньше думал, вылетает ошибка, точно не помню какая, но типо не соответсвие типов.
"а) Слить wsdl в файл, поправить его руками, чтобы Code2A мог быть пустым, сделать на основе правленного wsdl ссылку в 1С.
б) Подключаться к сервису через HTTPСоединение, парсить полученный ответ руками.
в) Написать в саппорт, пусть они правят свои косяки." - блин это сложно, таким же не занимался.
СПС за помощь!
   Hipocrisy2013
 
77 - 20.03.13 - 12:09
Есть ли ещё какие нибудь способы отправки запроса?
   Hipocrisy2013
 
78 - 21.03.13 - 16:23
я так поминмаю что мой запрос приходит на сервис в виде xml файла, можно ли его отловить и посмотреть что там?



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует