Передача данных из 1с на стронний веб-сервис #628381


#0 by santapod
Ситуация такая: надо передать xml на веб-сервис. Получил нужный xml в строку Стр = ЗаписьXML.Закрыть; (Стр и есть этот xml). Теперь возникает вопрос непосредственно с отправкой на веб-сервис. Код такой: Пишет что недостаточно фактических параметров (Парам.Добавить(Стр) ). Подскажите что не так делаю.
#1 by Fragster
Купи СП уже у кого-нибудь... Добавить (Add) Вариант синтаксиса: Установка значения нового произвольного свойства Описание: Добавляет значение произвольного свойства. Имя свойства будет создано автоматически, на основе локального имени XML представления свойства. В случае, если произвольное свойство с полученным именем уже существует и, если предыдущая установка значения произвольного свойства выполнялась для данного произвольного свойства, либо другого свойства в случае наличия последовательности, - свойство становится списковым с неограниченной верхней границей. В противном случае будет инициировано исключение. Тип создаваемого свойства всегда устанавливается anyType пространства имен схемы XML. Синтаксис: Добавить(<Форма>, <URI пространства имен>, <Локальное имя>, <Элемент данных>) Параметры: <Форма> (обязательный) Тип: ФормаXML. Форма XML представления произвольного свойства. Может принимать значения Элемент или КартинкаКнопкиВыбора. <URI пространства имен> (обязательный) Тип: Строка. URI пространства имен XML представления произвольного свойства. <Локальное имя> (обязательный) Тип: Строка. Локальное имя произвольного свойства. <Элемент данных> (обязательный) Тип: ЗначениеXDTO, ОбъектXDTO. Элемент данных XDTO (значение или объект), являющийся значением произвольного свойства. Вариант синтаксиса: Установка значения существующего произвольного свойства Описание: Добавляет значение произвольного свойства с указанным именем. Если свойства с указанным именем не существует, то будет инициировано исключение. Если предыдущая установка значения произвольного свойства выполнялась для данного произвольного свойства, либо другого свойства в случае наличия последовательности, - свойство становится списковым с неограниченной верхней границей. В противном случае будет инициировано исключение. Синтаксис: Добавить(<Имя>, <Элемент данных>) Параметры: <Имя> (обязательный) Тип: Строка. Имя произвольного свойства. <Элемент данных> (обязательный) Тип: ЗначениеXDTO, ОбъектXDTO. Элемент данных XDTO (значение или объект), являющийся значением произвольного свойства. Описание: Добавляет в объект значения произвольного свойства. Примечание: Вызов метода может быть осуществлен только для объектов типов с установленным свойством Открытый, в противном случае будет инициировано исключение.
#2 by santapod
"Купи СП уже у кого-нибудь..." что это?
#3 by Serginio1
#4 by santapod
Описанный пример работает на получение данных со стороннего сервиса,мне же нужно на сторонний сервис передавать свои данные
#5 by santapod
вот нашел полное описание я вот только не пойму,этот пример подходит для использования со сторонним веб-сервисом(не 1с)??? Тут разве описан не веб-сервис 1с?
#6 by Fragster
это когда контрол+ф1 нажимаешь - такая фигня справа
#7 by santapod
спасибо за совет...учту
#8 by Serginio1
А чем получение данных с передачей параметров отличается от от передачи данных? Кстати параметры могут быть с пометкой OUT только располагаться они должны в конце описания параметров. Если ты их опишешь не в конце, то система при описании Вэб сервиса и при вызове  все равно поместит в конце
#9 by santapod
Подскажите с чем может быть связана эта ошибка: Несоответствие типов XDTO: Тип '{' не найден Тип объекта не является открытым
#10 by zladenuw
я делал так и все работает. И все работает
#11 by santapod
а где добавление данных?
#12 by zladenuw
а поиск где ? погугли или Яндексни.
#13 by santapod
Все идентично,за исключением того,что ты подключаешься через динамическую ссылку
#14 by santapod
Я только прошу объяснить как решить эту проблему? Куда копать? Как сделать открытым? Несоответствие типов XDTO: Тип '{' не найден Тип объекта не является открытым
#15 by santapod
Объясните пожалуйста надо ли в ветке конфигурации создавать пакетXDTO?
#16 by zladenuw
Создать (Create) Вариант синтаксиса: Создание значения из значения Синтаксис: Создать(<Тип>, <Значение>) Параметры: Тип: ТипЗначенияXDTO. Тип, значение которого необходимо создать. Тип: Произвольный. Произвольное значение, на основе которого должно быть создано значение XDTO. Вариант синтаксиса: Создание значения по лексическому представлению Синтаксис: Создать(<Тип>, <Строка>) Параметры: Тип: ТипЗначенияXDTO. Тип, значение которого необходимо создать. Тип: Строка. Лексическое представление значения. Вариант синтаксиса: Создание объекта Синтаксис: Создать(<Тип>) Параметры: Тип: ТипОбъектаXDTO. Тип, объект которого необходимо создать.
#17 by zladenuw
нет не обязательно. у тебя ошибка тут XMLString = Прокси.ФабрикаXDTO.Создать(XMLStringТип);
#18 by zladenuw
читай СП
#19 by santapod
Спасибо.То есть мне нужно делать вот так Создать(<Тип>, <Значение>) ?
#20 by zladenuw
а хотя соврал. Можно и 1 параметр. У тебя тут не так что то    XMLString.Добавить(ФормаXML.Элемент,"http://wwwSQLWEBServices.usoft.ru/",Стр,XMLString) Что ты пытаешься добавить ?
#21 by santapod
Записал XML в строку: ЗаписьXML.ЗаписатьКонецЭлемента;    Стр = ЗаписьXML.Закрыть; А затем хочу этот Стр добавить
#22 by zladenuw
такс. почитай как надо работать с ХДТО. вот кусок с СП. читай там смотри ФабрикаXDTO (XDTOFactory) ЗаписатьXML (WriteXML) Синтаксис: ЗаписатьXML(<ЗаписьXML>, <Элемент>, <ЛокальноеИмя>, <URIПространстваИмен>, <Форма>, <УказаниеТипа>) Параметры: Тип: ЗаписьУзловDOM, ЗаписьFastInfoset, ЗаписьXML. Объект записи XML. Тип: Строка. Локальное имя записываемого элемента данных. Тип: Строка. URI пространства имен записываемого элемента данных. Тип: ФормаXML. Форма представления элемента данных в XDTO. Значение по умолчанию: Элемент Тип: НазначениеТипаXML. Вариант назначения типа элемента данных XDTO. Значение по умолчанию: Неявное Описание: Записывает указанный элемент данных XDTO в объект записи XML.
#23 by santapod
Спасибо,щас буду разбираться.
#24 by santapod
А еще вопрос: мне придется отбросить вариант с записью XML в строку и заполнять фабрикуXDTO и записывать вот так
#25 by santapod
Подскажите пожалуйста как бороться с этой ошибкой? {Форма.Отчет}: Ошибка при вызове метода контекста (Добавить): Несоответствие типов XDTO: Тип '{' не найден Тип объекта не является открытым    Ответ = Результат.Добавить(ФормаXML.Элемент,"http://wwwSQLWEBServices.usoft.ru/",Стр,XMLString) по причине: Несоответствие типов XDTO: Тип '{' не найден Тип объекта не является открытым Если раскрыть ветку WS-ссылки, то там на вкладке Типы объектов у DataTransfer1c стоит "Открытый - Ложь". Где можно поменять это свойство на "Открытый"?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С