#0
by kimba
Есть веб сервис у которого есть объект, у которого базовый тип Array (. Не могу понять как его заполнить. Создать его не проблема, создаю его так В отладчике объект выглядит так: Что с ним нужно сделать чтобы добавить туда элементы не понятно.
#0
by kimba
Есть веб сервис у которого есть объект, у которого базовый тип Array (. Не могу понять как его заполнить. Создать его не проблема, создаю его так В отладчике объект выглядит так: Что с ним нужно сделать чтобы добавить туда элементы не понятно.
#10
by kimba
С тем что arrayType есть свойство TaskMarkList я согласен. Как менять у него параметры если он = Неопределено? (см. скриншот в )
#15
by kimba
Смотрю, эксперементирую, пока не выходит, пример в работает т.к. объявление списка происходит прямо в данном пакете XDTO. У меня же объявление массива происходит в . Думаю в этом проблема.
#16
by kimba
Кому интересно поэксперементировать вот wsdl Задача создать и заполнить объект типа TBuildPlateIfaMethod
#17
by alexei366
А ты можешь схему экспортнуть только а не всю портянку, я конешно лишнее отрезал (вроде то что надо), но у типа TTaskMarkList чот не вижу твоих свойств, да и у Array свойство где указан тип arrayType не имеет имени, а сам тип arrayType объявлен в этом же пакете, но его чот и нету здесь. Мож ты не полностью экспортнул?
#18
by kimba
Я полностью wsdl выгрузил, ты возьми не обрезая портани его в веб ссылку. Я свойства в дереве тоже не вижу, но при программном создании они появляются.
#24
by kimba
Вообще тип Array = any type. Делаю вывод что элементы любого типа могут быть. Как то странно все.
#28
by Serginio1
Я помню мучился с Этим Array затем плюнул и написал на C# обертку. Но теперь буду знать как с этим Array бороться.
#29
by kimba
Возможно это еще не все, вечером допишу отправку сообщения, возможно сам веб сервис не примет такой вариант.
#31
by kimba
да, если один раз добавляешь TaskMarkList.Добавить(ФормаXML.Элемент, "http://schemas.xmlsoap.org/wsdl/", "Array", СтрокаXDTO); то появляется свойство Array. Если эту строку несколько раз выполняешь то Array становится Списком XDTO
#33
by Pooh_I
Помогите с вебсервисом плз. задача, вроде, похожая... Операция Call args - ассоциированный массив никак не пойму как с ним работать //ТекущийМассив.Добавить(ФормаXML.Элемент, "urn:Magento", "Array",?????????????????); что в вашем примере СтрокаXDTO?
#34
by Serginio1
У его массива типом строк является TTaskMark. Я так понимаю <complexType name="FixedArray"><complexContent><restriction base="soapenc:Array"><attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[]"/></restriction></complexContent></complexType> Является anyType То добавляй любой тип. Например СтрокаXDTO=ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "string"), "Значение Элемента") СтрокаXDTO=ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "decimal"), 3.14)
#35
by Pooh_I
Ругается...:(( Несоответствие типов XDTO: Тип '{urn:Magento}FixedArray' не найден Тип объекта не является открытым
#37
by Pooh_I
:(( результат тот же... может с уважаемым Serginio1 можно пообщаться за пределами форума?
#38
by Serginio1
Он у тебя ругается на ? У меня сейчас времени нет. Посмотри в отладчике какие пакеты и какие типы и пространства имен видит 1С твоего сервиса.
#40
by Pooh_I
может описание сервиса что-то прояснит <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
#47
by Serginio1
Попробуй через AnyType Объект = Фабрика.Создать(Фабрика.Тип("http://www.w3.org/2001/XMLSchema", "anyType"));
#48
by Serginio1
Вернее там atr не нужен. А если добавить только один elem не будет виден как массив. В твоем случае можно Объект.Добавить(ФормаXML.Элемент, "http://www.w3.org/2001/XMLSchema", "Array",Фабрика.Создать(ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "string"), "Значение Элемента"));
#55
by Serginio1
То есть нужно сделать COM прослойку от 1С к серверу. Хотя можно и через MSSOAP.SoapClient30; Там можно просто текст отправлять и принимать и использовать Фабрику для чтения записи из в текст где Чтение= новый ЧтениеXML;
#59
by Serginio1
Куда тебе нужно пространство имен? Он будет в пакетеXDTO и будет доступен в фабрике. Тебе все равно работать с фабрикой вэб сервиса. Но можно попробовать такой выкрут Создать ОбъектXDTO используя экспортированый паект и преобразовать её через строку
#61
by Serginio1
Попробуй как в 59. Это пространство имен должно быть в вэб сервисе. Я кстати импортировал и в 1С (правда у меня 8.3). Array там открытый и последовательный. Кстати а ты импортировал WS ссылку? И какая версия 1С у тебя стоит?
#62
by Pooh_I
сохранил в файл и что только дальше не делал, никак не работает ув.Serginio1 посмотри сервиз плз может подскажешь как его побороть 1С:Предприятие 8.1 (8.1.11.67)
#66
by Serginio1
Можешь добавить описание в файл скопированный из Не видит 1С описание. Поэтому FixedArray закрытый. Или попробуй сформировать XML строку с нужным пространством имен и создать объект из Строки
#68
by Serginio1
A что у тебя с call? там кстати anyType. Попробуй через AnyType Объект = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "anyType"));
#71
by Pooh_I
soapUI такой запрос генерирует <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Magento"> может такой запрос можно как-то по другому получить?
#74
by Serginio1
args = Фабрика.Создать(Фабрика.Тип("http://www.w3.org/2001/XMLSchema", "string"), "00000");
#75
by Pooh_I
раскоментировать не могу -- чужой хостинг хочу пробнуть через MSSOAP только установить не могу на windows 7
#76
by Serginio1
Ты зайди по ссылке Сохрани файл и расскоментируй. А вот в Определения=новый WSОпределения(ПутьКСохраненному файлуwxdl);
#77
by Serginio1
MSSOAP там только простые типы Так же ты можешь этот файл подключить и к WS ссылкам. Это файл определения типов и методов.
#80
by Pooh_I
не импортируется;(( Ошибка разбора XML: - [2,1] Фатальная ошибка: Expected comment or processing instruction SystemId:
#81
by Serginio1
Вот начало файла <?xml version="1.0" encoding="UTF-8"?> -<definitions targetNamespace="urn:Magento" name="Magento" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:typens="urn:Magento">-<types>-<schema targetNamespace="urn:Magento" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>-<complexType name="FixedArray">-<complexContent>-<restriction base="soapenc:Array"><attribute wsdl:arrayType="xsd:anyType[]" ref="soapenc:arrayType"/></restriction></complexContent></complexType></schema></types>
#83
by Pooh_I
извини Serginio1, туплю :( Определения=новый WSОпределения(ПутьКСохраненному файлу wxdl); куда теперь адрес сайта притулить? АдресВэбСервиса="http://demos1.softaculous.com/Magento/api/soap";
#86
by Pooh_I
1c формирует запрос xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="urn:Magento" как ТекущийМассив присвоить значение чтобы получить <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Magento">
#87
by Pooh_I
если ТекущийМассив.Добавить(ФормаXML.Элемент, "http://www.w3.org/2001/XMLSchema", "atr",Артикул);
#89
by Pooh_I
ТипСтрока=WebСервис.ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema","string"); Артикул=WebСервис.ФабрикаXDTO.Создать(ТипСтрока,"000000")
#90
by Pooh_I
WebСервис.ФабрикаXDTO.Создать(ТекущийМассивТип,Артикул)-- ошибка {}: Ошибка при вызове метода контекста (Создать): Несоответствие типов (параметр номер '2')
#91
by Serginio1
Нет тебе нужно так args = Фабрика.Создать(Фабрика.Тип("http://www.w3.org/2001/XMLSchema", "string"), "00000"); WebСервис.Call("2efd47ae057f40fff97a6df42fb6807f","product.info",args)
#96
by Pooh_I
Ошибка при вызове метода контекста (call): Ошибка вызова операции сервиса: {urn:Magento}:MagentoService:call может дело в пространстве имен?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- заполнение параметров области макета...
- Заполнение параметра в табличном документе
- Заполнение документа MS Word из среды 1С:Предприятие .Заполнение закладок
- v8: списки xdto и объекты xdto
- XDTO и списки XDTO. Чтение
- Фабрика XDTO (Заполнение свойств)
- XDTO: Как сделать свойство Типа объекта XDTO с составным типом данных
- Заполнение ТЧ документа из ТЧ другого документа или заполнение тч и запроса
В этой группе 1С
- Нужно доработать отчет, использующий Универсальный Отчет
- СКД: Не выводит пользовательские поля!
- Открытие и сохранение данных файла в 1С
- БП 2.0 копирование декларации по налогу на прибыль - блокируются ячейки
- СКД выбранные поля группировки
- Проверка на тип проведения документа 8.2
- ЗаполнитьШапкуДокумента в ут11
- Входящие и Исходящие данные Конвертация
- Можно как-то узнать значение (представление) перечисления в 1с77 из 1с82?
- ЗУП:Перевод сотрудника в филиал
- По MS SQL подскажите, кто знает
- Получить тип значений реквизита справочника по OLE
- SQL, 1С Запросы, СКД - Как сделать
- Условное оформление табличной части документа есть ли способ реализовать?
- Сколько получает такой аналитик?
- 1С web-сервис, проблема с подключением из клиента C# WinRT
- Правое значение в СКД
- Поиск по наименованию
- очистить ККМ перед выгрузкой как правильно7
- Вопрос по NetObjectToIDispatch