Имя: Пароль:
1C
1С v8
Пакет XDTO
0 john_ddd
 
01.11.12
18:19
- <s:element name="HelloWorld">
- <s:complexType>
- <s:sequence>
 <s:element minOccurs="0" maxOccurs="1" name="strParam" type="s:string" />
 <s:element minOccurs="0" maxOccurs="1" name="strArray" type="tns:ArrayOfString" />
 </s:sequence>
 </s:complexType>
 </s:element>
- <s:complexType name="ArrayOfString">
- <s:sequence>
 <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
 </s:sequence>
 </s:complexType>

Есть такая схема ХDTO. Веб-сервис создан в шарепоинте...
Сервис HelloWorld у него два параметра. Второй параметр массив.
Как описать объект ХDTO чтобы передать массив в этот параметр из 1с?
1 Asmody
 
01.11.12
18:30
через фабрику веб-сервиса создавай тип xdto, потом через ту же фабрику создавай объект xdto этого типа, потом заполняй объект
2 john_ddd
 
01.11.12
18:36
(1)спасибо, а есть какой-нибудь похожий пример посмотреть?
3 Serginio1
 
01.11.12
18:43
4 Serginio1
 
01.11.12
18:48
А вообще с таким типом как ArrayOfString 1С очень тяжело. Кстати как он отображается при импорте схемы или добавлении Ws ссылки?
В свое время пришлось писать обертку на Net
Serginio1
5 Serginio1
 
01.11.12
18:49
6 Serginio1
 
01.11.12
19:05
7 john_ddd
 
02.11.12
10:41
(6)спасибо)
8 Serginio1
 
02.11.12
11:02
Попробуй
Фабрика = Прокси.ФабрикаXDTO;
ТипМассива=Прокси.Тип(пространствоИмен,"ArrayOfString");
Массив=Прокси.Создать(ТипМассива);

ДетальТип = ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema","string");
   ДетальXDTO = Фабрика.Создать(ДетальТип, "Деталь такая то");
Массив.Добавить(ФормаXML.Элемент,ПространствоИмен,"string",ДетальXDTO);
9 john_ddd
 
02.11.12
11:07
(8)получилось уже (6)помогло)..так сделал:
Фабрика = Прокси.ФабрикаXDTO;
ТипМассив = Фабрика.Тип("http://tempuri.org/", "ArrayOfString");
Массив =  Фабрика.Создать(ТипМассив);
Массив.string.Добавить("аа");
Массив.string.Добавить("бб");
10 Serginio1
 
02.11.12
11:19
(9) Просто в 8 тоже должен работать и он универсален, но он больше подходит для anyType, так как для anyType нужно добавлять XDTOОбъект.
Если тип указан, то твой вариант.
Программист всегда исправляет последнюю ошибку.