|
Получение и отправка данных через веб посредством 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
|
||||
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) мерси
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |