Имя: Пароль:
1C
1С v8
Использование web-сервиса, wsdl-схема
0 a13k55
 
30.09.15
11:42
Добрый день! Необходимо провести интеграцию 1с со сторонним софтом через web-сервис. Как с него загружать данные понятно, а выгружать - нет.
Разработчики прислали кучу примеров выгрузок в формате xml - не понятно как сериализуется.
Приложили xsd схему, но при импорте в 1с или обращении программно возникают ошибки.
Получается, wsdl-схема отличается от xml-схемы?
если кто сталкивался с выгрузкой по подобной документации, поделитесь опытом, спасибо.
1 Serginio1
 
30.09.15
11:44
Если нет пространства имен, то будет считываться как AnyType.
Я в свое время решал через WSCF.blue и до сих пор использую для EDO
http://wscfblue.codeplex.com/

?http://msdn.microsoft.com/en-us/magazine/ee335699.aspx

Я в свое время использовал её для генерации классов из XSD, так как родной не справлялся со сложными типами
Вот инструкция как подключить её к Visual Studio 2013
http://wscfblue.codeplex.com/discussions/544680

Ну и сериализация и десериализация через
http://catalog.mista.ru/public/238584/

Например



public Object ПолучитьЗаказИзФайла(string ИмяФайла)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(EdiSoftDocumentOrder.DocumentOrder));

            EdiSoftDocumentOrder.DocumentOrder res;
            using ( FileStream fs = new FileStream(ИмяФайла, FileMode.Open))
            {
            res = (EdiSoftDocumentOrder.DocumentOrder) serializer.Deserialize(fs);
        }

            return res;

        
        
        }





public void СохранитьДокумент(object Накладная, string FileName)
        {

            if (Накладная is AutoWrap)
                Накладная = ((AutoWrap)Накладная).O;

            var serializer = new XmlSerializer(Накладная.GetType());
            using (var writer = new StreamWriter(FileName))
            {
                serializer.Serialize(writer, Накладная);

            }



        }
2 a13k55
 
30.09.15
12:00
благодарю за ответ, но мне ничего не понятно в нем)
есть документация, в ней написано Пример XSD схемы: ...............
Я так понимаю, что нужно сохранить эту схему, подключить к 1с и с ее помощью сериализовать объекты базы данных 1с.
как это сделать?
3 Cyberhawk
 
30.09.15
12:01
Имя веб-сервиса огласи
4 Serginio1
 
30.09.15
12:05
Нет берешь VS и через WSCF.blue по схеме создаешь классы и компилируешь сборку. Можешь добавить методы для удобства использования в 1С. Затем через http://catalog.mista.ru/public/238584/  загружаешь сборку и вызываешь методы создания классов сериализации и десериализации из 1С. Работаешь с объектами .Net как с обычными комобъектами
5 Cyberhawk
 
30.09.15
12:09
(4) Ты бы заголовок-то подправил, "b"
6 a13k55
 
30.09.15
12:16
(3) еФарма2-ЛьготаWEB
7 a13k55
 
30.09.15
12:18
(4) Спасибо. Даже близко не сталкивался с таким, надеюсь замнется, потому что то, что пишите Вы - темный лес для меня.
8 Cyberhawk
 
30.09.15
13:18
"надеюсь замнется" // Кто или что у кого замнется? )))
9 a13k55
 
01.10.15
09:14
(8) надеюсь разрабы софта сами проведут интеграцию) или окажут поддержку, т.к. я only 1c :D
10 denis_jj
 
01.10.15
11:58
Если вы интегрируетесь из 1С с WEB-сервисом стороннего софта (стороний софт - сервер, 1С - клиент), то в web-сервисе должны быть методы, которые позволяют записывать данные. И к этим методам описаны объекты через которые записываемые данные передавать.
11 denis_jj
 
01.10.15
12:01
Чтобы увидеть описание нужно в 1С создать WS ссылку и получить в неё WSDL описание сервиса.