Имя: Пароль:
1C
 
Получение и отправка данных через веб посредством WSDL в 1с77
,
0 mishaPH
 
модератор
28.05.15
12:07
Коллеги. вот потребовалось работать с поднятым веб сервисом одной системы из клюшек.
v7+ как я понял такого не может. там простые http запросы-ответы.

чем можно реализовать данный протокол? из клюшек передать запрос, получить и обработать ответ
1 ДенисЧ
 
28.05.15
12:16
v7plus и ПолучитьКакФайл(), например
2 vcv
 
28.05.15
12:41
веб-сервисы разные бывают. Есть, например, http://npchk.nalog.ru/FNSNDSCAWS
На инфостарте не так давно пробегала "рыба" по работе с этим веб-сервисом
3 mishaPH
 
модератор
28.05.15
13:10
(1) а отправить?
4 ДенисЧ
 
28.05.15
13:10
(3) get-запрос - в строке URL, post - ОтправитьКакФайл()
5 mishaPH
 
модератор
28.05.15
13:43
поймет ли на той стороне принять отправить файл..
там четко написано работа в формате WSDL
6 Serginio1
 
28.05.15
14:24
7 Serginio1
 
28.05.15
14:26
8 mishaPH
 
модератор
28.05.15
17:44
(7) (6) что-то сложно и чезез ЖПО
9 Serginio1
 
28.05.15
18:01
(8) Там сложностей ровно на 1 минуту. А вот то что тебе предлагают значительно сложнее.
10 trad
 
28.05.15
18:03
(0) есть вот такая штука
https://www.microsoft.com/en-us/download/details.aspx?id=10747
но на win7 и выше не работает

поэтому руками собираю xml файл soap-запроса
отправляю по http (либо v7+, либо winhttp)
получаю saop-ответ, парсю (либо v7+, либо MSXML)
11 Fragster
 
гуру
28.05.15
18:06
я бы проксю на php написал - на вход - get параметры, php делает запрос, возвращает csv или xml, или с чем из 1с будет удобно работать
12 Fragster
 
гуру
28.05.15
18:07
если параметры сложные - то тут не get, а post с нужной структурой
13 Serginio1
 
28.05.15
18:14
(11) Я кстати тут недавно для себя открыл OWIN и Katana

http://metanit.com/sharp/mvc5/11.1.php

А решение в 6 это и есть прокси только ты работаешь уже с готовыми объектами
14 Fragster
 
гуру
28.05.15
18:18
(13) в php тоже уже все для soap готово, особенно если есть wsdl
15 Fragster
 
гуру
28.05.15
18:19
хотя, конечно, не через ВК, а через http будет общение, да
16 Serginio1
 
28.05.15
18:24
(14) Я про другое. OWIN делает простую реализацию HTTPListener.

(15) Твоя прокси все равно передает текст который нужно десериализовать, сериализовать. В 6 ты работаешь только с классами и объектами
17 Serginio1
 
28.05.15
18:24
(15) Попробуй ради интереса.
18 Serginio1
 
28.05.15
18:25
19 Fragster
 
гуру
28.05.15
18:55
(16) немного покурив можно сделать так, чтобы php возвращала значение для ЗначениеИзСТрокиВнутр или как там оно в клюшках :)
20 Serginio1
 
28.05.15
19:02
(19) Это все понятно, только зачем такие усложнения?
Попробуй 18.
21 Fragster
 
гуру
28.05.15
19:08
(20) не, не буду, оно на линупсе не пашет
22 ProgAL
 
28.05.15
20:13
Смотри последние регламентированные отчеты по НДС. Проверка контрагентов на сайте ФНС. Check_ka.ert  .
23 mishaPH
 
модератор
28.05.15
23:05
(22) ок. посмотрю. но там как в курсах бакса скорее всего простой нттп запрос ответ 1й строкой.
24 mishaPH
 
модератор
28.05.15
23:09
(22) гм помоему оно!
25 Serginio1
 
29.05.15
00:17
(21) С каких это пор семерка на линупсе?
Кстати совсем недавно нужно было подключиться на семерке к EDI. Там у них есть порт по 7ку. Посмотрел я на это  убожество и на DLL ку по C#, однозначно проще использовать классы под Net. Еще раньше с другой фирмой обмен XML файлов по схеме. Опять проче на Net сериализовать, десериализовать. Все занимает максимум полчаса.
26 mishaPH
 
модератор
29.05.15
06:30
+24 как раз можно в строку хмл любого формата запхнуть.

(25) тут такое дело, что усложнять просто. а вот сделать по человечески.
Можно навернуть хоть на нет, на что угодно одно но.
1. клиентская часть которая будет работать с веб сервисом, стоит в 80 магазинах. система "как есть" с простыми запросами в базу и получением ответов. Устанавливать там что-то для нет и т.п. ... Я по идее могу минуя веб сервис залезть и отработать все напрямую с базой постгри этой системы (iDempiere)/ Но на всех компах надо ставить драйвер plsql что немного проблематично и геморно. Поэтому решили зайти со стороны поднятия штатного веб сервиса и работы с ним.

edi кстати с едисофтом работаем посредством простого кидания xml файлов в обе стороны. отдаю и получаю их коннектору едисофта установленному на нашем компе.
27 mishaPH
 
модератор
29.05.15
06:50
(22) там есть код

Функция СоздатьXMLHttpRequest(URL)

Попытка
  XMLHttpRequest = СоздатьОбъект("Msxml2.XMLHTTP.6.0");
Исключение
  Попытка
   XMLHttpRequest = СоздатьОбъект("Msxml2.XMLHTTP.3.0");
  Исключение
   Попытка
    XMLHttpRequest = СоздатьОбъект("Msxml2.XMLHTTP");
   Исключение
    Попытка
     XMLHttpRequest = СоздатьОбъект("Microsoft.XMLHTTP");
    Исключение
     Сообщить("Невозможно создать XMLHttpRequest.                                                                                          
      |" + ОписаниеОшибки(), "!");
    КонецПопытки;
   КонецПопытки;
  КонецПопытки;
КонецПопытки;

XMLHttpRequest.open("POST", URL, 1);

Возврат XMLHttpRequest;
  
КонецФункции

Этот объект создает v7plus и более не требует ничего? установки на комп я имею в виду чего-то
28 ProgAL
 
29.05.15
07:45
(27) Я думаю все эти компоненты входят в состав винды, начиная с XP. Потому что все регламентные отчеты просто работают и все, никаких дополнительных установок ничего не требуется.
29 mishaPH
 
модератор
29.05.15
09:31
(28) ок. мерси. начал тестировать понемногу. ответ от веб сервиса получил. вроде все арботает. час на той тороне прог напишет под веб запрос ответ формат и думаю дело пойдет
30 Serginio1
 
29.05.15
11:30
(21) а Почему ПХП а не Node.js например.
(26) Проще работать с объектом, чем парсить XML, кроме того они практически все позволяют работать с вэб или Http серверами.
Что касается Net то практически она стоит везде. Просто на XP это обычно 3.1. Но на Windows 7 и выше уже 4.5.1
31 mishaPH
 
модератор
29.05.15
16:41
(30) Кстати про работу с объектом.

    ОтветСервера = XMLHttpRequest.responseXml;            
    
    мXMLАнализатор = СоздатьОбъект("AddIn.XMLParser");
    мЧтениеXML = мXMLАнализатор.СоздатьПоследовательноСчитываемыйДокумент();
    мЧтениеXML.СвязатьСОбъектом(ОтветСервера);

ответ получен. он парсится. но блин муторно это.
Как загнать его в файл текстовый? или тот же хмл привычный
32 Goggy
 
29.05.15
16:46
Поставь 8ку и по запросу веб-сервиса пиши в базу 77 по ком. Вот самый простой костыль.
33 Fragster
 
гуру
29.05.15
16:53
(30) php проще, soap из коробки, сериализации всякие. node все-таки больше для создания клиент-серверных приложений лучше, чем простой программы типа получил параметры, обработал, вернул результат, завершился
34 Serginio1
 
29.05.15
17:14
(32) Согласен. Только лучше из семерки вызывать если методов много, все таки внутренний сервер.

(33) Вроде http://stackoverflow.com/questions/16006988/sending-arguments-via-soap-in-node-js-using-node-soap

есть у них node-soap. Я смотрю просто сейчас его продвигают
35 mishaPH
 
29.05.15
17:25
(32) те. Мне в каждом магазине поставить по 8ке рядом??. Ну давайте реально смотреть на вещи.я всего в принципе добился. Вот только распарсивать муторно. Как полученный объект в файл загнать?
36 Fragster
 
гуру
29.05.15
17:28
(34) с node очень все плохо из-за обилия конкурирующих "либ". Сам подход мне нравится, но уж очень мало встроенного. А для внешних: хотел http://fragster.ru/jsgleest/ сделать многопользовательским, клиента на websockets. В репозитарии пакетов для node - 100500 реализаций разной степени глючности, чисто инфостарт :)
37 Fragster
 
гуру
29.05.15
17:29
в свое время искал годный рефлекшн, соап сервер, xml сериализатор с нормальной поддержкой пространств имен и xsd... фиг найдешь.
38 Serginio1
 
29.05.15
17:29
(33) Кстати клиент и сервер
https://github.com/vpulim/node-soap

(35) Сериализовать по схеме.
39 Serginio1
 
29.05.15
17:30
(37) Ясно.
40 Serginio1
 
29.05.15
17:33
41 Fragster
 
гуру
29.05.15
17:36
(40) там в ответах 4 или 5 разных модулей. всего поиск по официальному репозиторию дает 187 модулей с мутным описанием
42 Fragster
 
гуру
29.05.15
17:36
43 Serginio1
 
29.05.15
17:38
ОтветСервера.responseXML.xml должен быть текст
44 Serginio1
 
29.05.15
17:40
(41) Спасибо. Ясно.
(31) Я имел ввиду что проще работать с Netовским объектом, особенно когда куча вложений и куча необязательных свойств
45 mishaPH
 
29.05.15
18:11
(43) мерси
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn