Имя: Пароль:
1C
 
Web сервис и дата сет
0 х86
 
05.03.11
17:23
Сторонний разработчик хочет в веб сервис на стороне 1сv8 созданный мною передать дата сет. В какаю сторону капать?
1 fly7
 
05.03.11
18:10
создать вев-севрис в кофиге ) на итс есть пример, я с него начинал
2 х86
 
05.03.11
21:13
(1)я веб сервис поднял, так там типа значения дата сет не нашёл. или я чего-то не понимаю
3 х86
 
10.03.11
15:36
апапап
4 fly7
 
10.03.11
16:45
а дата сет в твоем понимании это что?
используй стандартные типы, их там немеряно
http://dl.dropbox.com/u/577178/sssss.JPG
5 х86
 
10.03.11
17:44
(4)спасибо

задача упростилась, как в веб сервис созданный на стороне 1с передать таблицу значений
6 fly7
 
10.03.11
17:55
укажи параметр как string и отладчиком посмотри что пришло
7 acsent
 
10.03.11
17:56
МаксимальноеКоличество = -1
8 х86
 
10.03.11
18:42
(6)несоответствие параметров  (
9 Serginio1
 
10.03.11
18:55
Создаешь тип с со своими полями и называешь его наприер структура.
Затем создаешь тип открытый и последовательный.
Добавляешь ему свойство типа структура с минимальное количество 0 и максимальное количество -1
10 х86
 
10.03.11
20:51
(9)спс, так и сделал
сторонний проггер говорит что получается не ДатаТабле а массив строк  (
и у него не получается выгружать вся табл а приходится перебирать ТЗ и заполнять построчно
11 Serginio1
 
10.03.11
21:43
Ну ничего страшного. А так нужно смотреть XML сериализацию DataTable. Но она будет приблизительно такой же
12 х86
 
11.03.11
09:12
а подскажите плиз какой тип значения нужно ставить чтоб на вход можно было подать любое значение, хоть инт, хоть стринг, хоть дататабл, хоть датасет
13 Serginio1
 
11.03.11
12:34
Сам формат XML это строка (правда форматированная по определенным правилам. Поэтому универсальным значением будет строка сериализации объекта, а вот десериализацией придется заниматься самому.
14 Serginio1
 
11.03.11
13:53
а вообще существует anyType
15 х86
 
12.03.11
00:53
(14)ставил и anyType и All пишет несоответствие параметра
16 х86
 
14.03.11
15:23
а вот еще одна засада
сторонний Web Сервис отдаёт таблицу, в браузера нормально обращаюсь к нему, получаю данные, а вот 1Ска выдает ошибку:
" ........
по причине:
Ошибка вызова операции сервиса:  {http://tempuri.org/}:Service1:GetMasterFile()
по причине:
Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://tempuri.org/}GetMasterFileResponse - [1,186]
Проверка дополнительного свойства:
   форма: Элемент
   имя: {http://tempuri.org/}GetMasterFileResult
по причине: ............"

что может быть такое?
17 х86
 
14.03.11
17:30
"На ИТС есть статья "Использование средств мониторинга сети для диагностики ошибок при работе с web-сервисами"" (цы)

ага посмотрел Wireshark'ом то что возвращает сторонний веб сервис, схема нормальная. в данных тоже никакого криминала не нашел

хелп
18 Serginio1
 
14.03.11
17:43
Поля возвращаемой структурыдолжны быть заполнены.
Недавно боролся с с вложенными структурами и ругалось данныек список был пустой. Лечилосю добавлением дефлтной записи
19 х86
 
14.03.11
17:56
Гляньте плиз ХМЛку

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
       <GetMasterFileResponse xmlns="http://tempuri.org/">
           <GetMasterFileResult>
               <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
                   <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="MasterFile" msdata:UseCurrentLocale="true">
                       <xs:complexType>
                           <xs:choice minOccurs="0" maxOccurs="unbounded">
                               <xs:element name="MasterFile">
                                   <xs:complexType>
                                       <xs:sequence>
                                           <xs:element name="Id" type="xs:int" minOccurs="0" />
                                           <xs:element name="Name" type="xs:string" minOccurs="0" />
                                       </xs:sequence>
                                   </xs:complexType>
                               </xs:element>
                           </xs:choice>
                       </xs:complexType>
                   </xs:element>
               </xs:schema>
           <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
               <DocumentElement xmlns="">
                   <MasterFile diffgr:id="MasterFile1" msdata:rowOrder="0">
                       <Id>91918</Id>
                       <Name>Трололо(15)9,5 </Name>
                   </MasterFile>
                   <MasterFile diffgr:id="MasterFile2" msdata:rowOrder="1">
                       <Id>91926</Id>
                       <Name>Наименован</Name>
                   </MasterFile></DocumentElement>
           </diffgr:diffgram>
       </GetMasterFileResult>
   </GetMasterFileResponse>
   </soap:Body>
</soap:Envelope>
20 Fragster
 
гуру
14.03.11
17:58
походу на той стороне ява?
21 Fragster
 
гуру
14.03.11
17:58
22 х86
 
14.03.11
17:59
(19)+ это то что подается 1ске на вход, перехватил с помощью (17)
и на неё 1ска ругается как в (16)

ЗЫЖ схему проверял, отдельно импортировал в 1ску, проблем вроде не было, поняла
23 х86
 
14.03.11
18:01
(20)спс, завтра спрошу, но вроде как дотНет
24 Serginio1
 
14.03.11
18:18
Интересно отуда ты взял схему с DataSet
25 Serginio1
 
14.03.11
18:22
Посмотрт объект ввиде текста

Процедура ПоказатьОбъект(ОбъектXDTO)
   ЗаписьХМЛ= новый ЗаписьXML;
   ЗаписьХМЛ.УстановитьСтроку();
   ФабрикаXDTO.записатьXML(ЗаписьХМЛ,ОтветТаблицаЦен);
   //записатьXML(ЗаписьХМЛ,ОбъектXDTO);
   текст=Новый ТекстовыйДокумент;
   Текст.УстановитьТекст(ЗаписьХМЛ.Закрыть());
   Текст.Показать();
   
КонецПроцедуры
26 Serginio1
 
14.03.11
18:26
Я так понимаю ты прнмаешь из стороннего Вэб сервиса датасет, а вот для работы с ним 1С не может.
IsDataSet="true" msdata:MainDataTable наверное только для Net ИМХО
27 Serginio1
 
14.03.11
18:30
А что выдает при подключениии в сервис из 1С как WS ссылки какие пакеты она выдает?
28 х86
 
15.03.11
10:25
(26)скорее всего так и есть  (
а жаль
29 х86
 
15.03.11
10:35