Автор |
Сообщение |
![[Post New]](/vetrf-forum/templates/default/images/icon_minipost_new.gif) 30/01/2018 13:52:38
|
Garland
Зарегистрирован: 08/09/2017 10:02:49
Сообщений: 25
Оффлайн
|
Столкнулся с такой проблемой:
1) получаю через шлюз Ветис.API список входящих ВСД
2) пытаюсь их разобрать в соответствии со схемой http://api.vetrf.ru/schema/cdm/mercury/vet-document
3) получаю ошибку!
Ошибка проверки данных XDTO: ... не соответствует простому типу: {http://api.vetrf.ru/schema/cdm/base}String255
Несоответствие фасету MaxLength = '255'
Начинаю разбираться - оказывается поставщик в веб интерфейсе Меркурия может внести в поле "specialMarks" простыню абсолютно любой длины, а шлюз и xsd схемы допускают только тип "string255"
Вот какой "альтернативно одаренный" программист делал этот Меркурий и шлюз? Почему схемы данных веб-интерфейса не соответствуют шлюзу?
И как собственно внедрять Ветис.API, если даже список входящих ВСД получить невозможно?
Кто еще сталкивался с похожей проблемой?
|
|
 |
![[Post New]](/vetrf-forum/templates/default/images/icon_minipost_new.gif) 30/01/2018 14:01:11
|
mevgenym
Зарегистрирован: 19/05/2017 14:03:42
Сообщений: 312
Оффлайн
|
все так и есть, преодолевается костылями, разрабов не дождаться, добро пожаловать в мрак
|
https://github.com/mevgenym/1c_vetis.api_v1.1
https://github.com/mevgenym/1c_vetis.api
|
|
 |
![[Post New]](/vetrf-forum/templates/default/images/icon_minipost_new.gif) 30/01/2018 14:05:06
|
Garland
Зарегистрирован: 08/09/2017 10:02:49
Сообщений: 25
Оффлайн
|
Не поделитесь идеей, какой костыль использовать?
|
|
 |
![[Post New]](/vetrf-forum/templates/default/images/icon_minipost_new.gif) 30/01/2018 14:16:27
|
mevgenym
Зарегистрирован: 19/05/2017 14:03:42
Сообщений: 312
Оффлайн
|
обходить свойства искать где неправильное значение, в типовых есть процедуры вроде ПреобразоватьПроизвольныйОбъектXDTOВОбъектXDTO
или преобразовать в структуру
|
https://github.com/mevgenym/1c_vetis.api_v1.1
https://github.com/mevgenym/1c_vetis.api
|
|
 |
![[Post New]](/vetrf-forum/templates/default/images/icon_minipost_new.gif) 31/01/2018 11:16:47
|
Garland
Зарегистрирован: 08/09/2017 10:02:49
Сообщений: 25
Оффлайн
|
А что делать например с адресом предприятия?
Вот пришел в адресе guid для поля district "b78a1150-21ba-11e3-8f90-50e549251629"
При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {http://api.vetrf.ru/schema/cdm/registry/service}:IkarServiceBindingQSService:GetDistrictByGuid()
по причине:
При вызове веб-сервиса произошла ошибка. Ошибка SOAP сервера: Requested entity not found
Вот как вообще можно так испохабить нормальный КЛАДР...
|
|
 |
![[Post New]](/vetrf-forum/templates/default/images/icon_minipost_new.gif) 31/01/2018 11:38:53
|
Garland
Зарегистрирован: 08/09/2017 10:02:49
Сообщений: 25
Оффлайн
|
А вот еще из веселого:
даже попытка получить площадку через шлюз приводит к краху
GetEnterpriseByGuid(5351519f-af55-bbb3-2b17-3962f1a82150)
|
|
 |
![[Post New]](/vetrf-forum/templates/default/images/icon_minipost_new.gif) 31/01/2018 12:53:48
|
hawksib
![[Avatar]](/vetrf-forum/images/avatar/1b6171ff276542bd344c1600aaca6165.jpg)
Зарегистрирован: 04/08/2017 08:44:20
Сообщений: 179
Оффлайн
|
Garland wrote:А вот еще из веселого:
даже попытка получить площадку через шлюз приводит к краху
GetEnterpriseByGuid(5351519f-af55-bbb3-2b17-3962f1a82150)
такому?
Встроенный язык: Ошибка передачи переменной: При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {http://api.vetrf.ru/schema/cdm/registry/service}:EnterpriseServiceBindingQSService:GetEnterpriseByGuid(): При вызове веб-сервиса произошла ошибка. Аутентификация пользователя не выполнена.
Error 401--Unauthorized
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.4.2 401 Unauthorized
The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.46) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials. If the 401 response contains the same challenge as the prior response, and the user agent has already attempted authentication at least once, then the user SHOULD be presented the entity that was given in the response, since that entity MAY include relevant diagnostic information. HTTP access authentication is explained in section 11.
по причине:
Аутентификация пользователя не выполнена.
что это за площадка? дайте инн хс, попробую проверить
|
|
 |
![[Post New]](/vetrf-forum/templates/default/images/icon_minipost_new.gif) 31/01/2018 13:18:30
|
Garland
Зарегистрирован: 08/09/2017 10:02:49
Сообщений: 25
Оффлайн
|
У вас ошибка авторизации. Попробуйте проверить все настройки типа адреса сервера, логина и пароля пользователя.
У меня была похожая ситуация, когда я после тестового сервера переходил на продуктив.
В данном случае возникает ошибка:
При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {http://api.vetrf.ru/schema/cdm/registry/service}:EnterpriseServiceBindingQSService:GetEnterpriseByGuid()
по причине:
При вызове веб-сервиса произошла ошибка. Неизвестная ошибка. Ошибка проверки данных XDTO:
Значение: 'Производство мясопродуктов (полуфабрикатов). Убой КРС, разделка, производство мяса говядины в полутушах и четвертинах, производство жилованного блочного мяса говядины замороженного, производство субпродуктов говяжьих, производство полуфабрикатов мясных натуральных, жира-сырца животного. Хранение продукции животного происхождения.' не соответствует простому типу: {http://api.vetrf.ru/schema/cdm/base}String255
Несоответствие фасету MaxLength = '255'
А GUID этот пришел вместе с каким-то товаром от поставщика (поле "producerList")
В веб интерфейсе Меркурия показывается - ОАО “Березовский мясоконсервный комбинат” (Беларусь, Брестская область), номер в реестре BY415457
|
|
 |
![[Post New]](/vetrf-forum/templates/default/images/icon_minipost_new.gif) 31/01/2018 14:29:08
|
hawksib
![[Avatar]](/vetrf-forum/images/avatar/1b6171ff276542bd344c1600aaca6165.jpg)
Зарегистрирован: 04/08/2017 08:44:20
Сообщений: 179
Оффлайн
|
действительно, перед авторизацией процедуры вызвал, воспроизвел вашу ошибку, я думаю это какие-нибудь пережитки прошлого, допустим, когда-то раньше описание типов позволяло хранить значение больше 255 символов, его туда записали и с тех пор оно осталось в системе, а новые фабрики с ними работать не могут
|
|
 |
|