![]() |
![]() |
![]() |
|
Структура объекта не соответствует типу | ☑ | ||
---|---|---|---|---|
0
PsyTech
14.09.17
✎
11:12
|
Всем привет!
При вызове метода сервиса получаю сообщение "Структура объекта не соответствует типу". Структура объекта XDTO соответствует типу входного параметра, а 1с сравнивает структуру этого объекта с типом выходного параметра, естественно они не соответствуют. От чего так может быть? |
|||
1
PsyTech
14.09.17
✎
11:17
|
*с типом возвращаемого значения
|
|||
2
PsyTech
14.09.17
✎
11:51
|
Т.е. На вход методу сервиса подаю параметр в соответствии с типом входного по WSСсылке, а туда как будто ожидается параметр с типом возвращаемого значения.
|
|||
3
catena
14.09.17
✎
12:00
|
(2)Где размещен сервис, откуда запрашивается, чем подкреплены такие выводы?
|
|||
4
PsyTech
14.09.17
✎
12:03
|
Через SOAP UI сервис нормальные ответы возвращает. Может я не понимаю смысыл этого сообщения? О чем оно? О том, что я на вход что-то не то передаю, или возврат не соответствует схеме?
|
|||
5
PsyTech
14.09.17
✎
12:06
|
хотя, ответ соответствует схеме...
|
|||
6
catena
14.09.17
✎
12:09
|
(4)У порядочного веб-сервиса возврат не может не соответствовать схеме. Чем запрос формируется? Через wsОпределения или вручную сбор хмл?
|
|||
7
PsyTech
14.09.17
✎
12:16
|
(6) Через wsОпределения, т.е. четко по схеме.
Почему 1с сравнивает входной параметр с типом возвращаемого значения? |
|||
8
PsyTech
14.09.17
✎
12:20
|
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2}OneC_Respose - [1,330] Проверка дополнительного свойства: форма: Элемент имя: OPERATIONID по причине: Ошибка проверки данных XDTO: Структура объекта не соответствует типу: {http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2}OneC_Respose OPERATIONID - это поле из возвращаемого значения. Причем тут оно? |
|||
9
PsyTech
14.09.17
✎
13:25
|
не оставляйте меня тут одного!))
|
|||
10
catena
14.09.17
✎
13:27
|
(9)Мало информации. Структуры вс нет, кода нет, обсуждать пока нечего.
|
|||
11
PsyTech
14.09.17
✎
13:29
|
почему-то подумал, что этого достаточно
|
|||
12
PsyTech
14.09.17
✎
13:33
|
Вот кодик:
Прокси = WSСсылки.SAP_Product.СоздатьWSПрокси(URI, ИмяСервиса, ИмяПорта); Прокси.Пользователь = login; Прокси.Пароль = password; ТипWSПараметра = Прокси.ФабрикаXDTO.Тип(URIПространстваИмен, Имя); WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра); Меркурий.ИнициализироватьОбъектXDTO(WSПараметр, Прокси.ФабрикаXDTO); WSПараметр.localTransactionId = localTransactionId; WSПараметр.initiator.login = login; WSПараметр.enterprise.guid = guidПлощадки; WSПараметр.productionOperation.operationId = operationId; Ответ = Прокси.RegisterProductionOperation(WSПараметр); |
|||
13
PsyTech
14.09.17
✎
14:27
|
А так получаю ошибку 500
xmlHttp = Новый COMОбъект("Microsoft.XMLHTTP"); xmlHttp.OPEN("POST", URI, 0, login, password); xmlHttp.setRequestHeader("User-Agent", "1C Soap toolkit"); xmlHttp.setRequestHeader("Content-type","content-type text/xml; charset=utf-8"); xmlHttp.setRequestHeader("Content-Length", СтрДлина(MessageExchange)); xmlHttp.setRequestHeader("SOAPAction", "http://sap.com/xi/WebService/soap1.1"); xmlHttp.SEND(MessageExchange); |
|||
14
PsyTech
14.09.17
✎
14:54
|
Было у кого такое, чтоб сторонний сервис через SOAP IU работал, а через 1с нет?
|
|||
15
PsyTech
14.09.17
✎
16:04
|
Может кто хотя бы может логику сообщения о ошибке пояснить?
Структура какого объекта не соответствует типу? Который передаю на вход? Почему тогда в тексте ошибки поле из возвращаемого значения? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |