Имя: Пароль:
1C
1С v8
Получение данных с веб-сервиса 1с, через url-линк.
0 Turms
 
22.04.13
20:18
Коротко о ситуации:
Я начинающий программист 1с (чуть больше года), впервые столкнулся с веб-сервисами, полазил в гугле, смог создать, опубликовать и получить данные с веб-сервиса в другой конфе посредством wsdl-ссылки и объекта конфы.
Задача по работе у меня следующая, есть пара иностранных программистов (из Кореи) которые заказали у нас автоматизацию склада в нашем городе + обмен данными с их корейской системой, изначально была договоренность что обмен данным будет происходить через веб-сервисы, так что я подготовился и подтянул мат. часть в этом вопросе. Сегодня выяснилось что они хотят обмен данными, посредством url-ссылок ввести. То есть что-то вроде следующего:

Примеры:

http://www.cbu.uz/section/rates/widget/xml - при обращении без параметров, выдаются курсы по всем валютам на текущую дату;

http://www.cbu.uz/section/rates/widget/xml/[curr] – при запросе с параметром «curr» с  указанием запрашиваемой валюты, выдается курс по запрашиваемой валюте на текущую дату;

http://www.cbu.uz/section/rates/widget/xml/all/[yyyy-mm-dd] – при запросе с параметром «yyyy-mm-dd» с указанием запрашиваемой даты (в формате yyyy-mm-dd, год 4 знака, месяц 2 знака, день 2 знака ), выдаются курсы по всем валютам на запрашиваемую дату;

http://www.cbu.uz/section/rates/widget/xml/[curr]/[yyyy-mm-dd] – при запросе с параметром «curr» с указанием запрашиваемой валюты, а также с параметром «yyyy-mm-dd» с указанием запрашиваемой даты, выдается курс по запрашиваемой валюте на запрашиваемую дату;


Собственно вопрос, можно ли поднять такую вещь силами 1с платформы или нет?
Если нет то коротко, что еще понадобится чтоб поднять (софт, навыки и т.д.)?

З.ы.
Когда сегодня корейцам дал wsdl линк на свой сервис, у них были круглые глаза и они сказали, что нам с этим делать, и как нам из этого получить xml-файл который они хотят видеть.

То есть второе возможное решение данной ситуации, это дать какой-то пример работы на яве с веб-сервисами 1с.

Прошу подсказать :о(
1 Fragster
 
гуру
22.04.13
20:53
прослойку между rest (чего хотят они) и 1сным soap можно очень просто написать
2 mistеr
 
22.04.13
21:09
Да, прослойку легкую нужно. Хоть на PHP, хоть на яве, хоть на дотнете. А можно и SOAP-прослойку выкинуть и по COMу тянуть данные.

Или скажи корейцам, чтоб тоже учили матчасть по WS :)

P.S. А что за контора если не секрет? Просто город уж больно знакомый.
3 Turms
 
22.04.13
21:23
Контора LG.
Пример прослойки можно? И что надо чтоб поднять её у себя на коллокейшн? А то у меня там только сервак крутится и апач к нему.
4 Turms
 
22.04.13
21:37
http://91.212.89.123/test_lgeak/ws/test_lgeak.1cws?wsdl

Вот тестовый линк на веб сервис. Дайте пожалуйста пример кода на яве как достучатся им до данных веб-сервиса. Или подскажите как сделать прослойку средствами 1с (или как я понимаю не 1с), просто прошу задать направление в котором надо рыть, ибо в веб делах я профан полный, ни с пхпп ни с явой не знаком и с чем едят SOAP тоже не представляю(
5 oleg_km
 
22.04.13
21:38
Так может вам отказаться от SOAP и просто обмениваться XML с помощью GET и POST? Кстати, внимательно прочитал (0) и понял, что именно это они вам и предлагают, а отнють не вес-сервис.
6 Turms
 
22.04.13
21:43
(5) Я конечно нуб) Я не понимаю методов GET и POST)
Одним из требований у меня является наличие входящих параметров, к примеру PROGRAMM_ID и других. Меня полностью устраивает веб-сервис (зря я его что ли курил два дня) просто если есть возможность поставить некую надстройку чтоб и их устроило, был бы идеальный выход.
7 Turms
 
22.04.13
22:00
(5) Почитал про методы GET и POST. Пересплю с этой мыслью.
8 mistеr
 
22.04.13
22:04
(4) Примеры на яве легко гуглятся. Любая IDE импортирует WSDL и генерит классы.

Про GET и POST стоит почитать, пригодится.
9 mistеr
 
22.04.13
22:04
10 Jaap Vduul
 
22.04.13
22:07
axis.apache.org/axis/java/user-
guide.html
11 Turms
 
23.04.13
09:05
Мне хватит платформенных средств 1с, чтоб организовать такой обмен данных? Методами GET и POST?
12 sikuda
 
23.04.13
09:21
А чем вариант с HTTPСоединение.Получить не устраивает?
У вас же жестко прописанные адреса. А потом обработка полученного xml...
13 oleg_km
 
23.04.13
09:22
(11) Нет. Как вариант сделать страничку например на PHP, там создавать COM-подключения к 1С. Или на инфостарте есть разработка ExpoServer, там описано, как из 1С сделать веб-сервер. Я просто взял АктивИкс WinSock и сам себе сделал из 1С однопоточный веб-сервер. Мне пока хватает
14 oleg_km
 
23.04.13
09:23
+(12)+(13) Да кстати, если серверную часть на себя возьмут корейцы, то ты весь обмен можешь организовать HTTPСоединение: заливать им данные POSTом, забирать GETом
15 Turms
 
23.04.13
09:35
(14)
Понятно, буду разговаривать с ними тогда. Но теперь мне уже самому интересно. Что мне понадобится для написания прослойки для веб сервиса, чтобы выводить результирующие данные через uri-линк? Если верить предыдущим постам то это можно просто сделать. Или может ли кто-то взяться за написание этой прослойки за определенную плату? С полным пояснениями, какие действия я потом должен сделать на сервере у себя.
16 sda553
 
23.04.13
09:39
(0) Что такое "Сегодня выяснилось, что они хотят...."? Что у вас там за ИТ менеджеры, которые так выясняют? Наведите лучше с этим порядок, чем прослойки и прокладки теперь писать.
17 sda553
 
23.04.13
09:42
(15) Технически: поднимаешь на том же сервере, где у тебя веб сервис 1С сайт-прослойку.
Он будет принимать вот эти вот GET параметры, обрабатывать, обращаться к веб сервису 1С, и возвращать результат в нужном виде.

Написать такое можно очень быстро, поэтому лучше кого то нанять (сам долльше разбираться будешь, чем писать), весь проект написания такой прослойки от ТЗ до финального тестирования я бы оценил где то в 30 тыс руб.
18 Turms
 
23.04.13
10:09
(16)
Ну дело было так) У них программист и аналитик приехали, проггер их только по корейски говорит, аналитик же и английский знает, с нашей стороны местный менеджер из представительства фирмы + я, у аналитика 5 раз спросили (разной формулировкой), будет ли это обмен данным посредством веб сервисов, он ответил что да.
19 oleg_km
 
23.04.13
10:20
(17) да тут возможен 1000 и один вариант. Мне кажется перво-наперво нужно выяснить у корейцев могут ли они работать с веб-сервисами в узком смысле этого слова, т.е. с SOAP. Причем желательно попробовать именно веб-сервисы 1С. Если смогут, то вам проще: ваяйте все на 1С. Если на самом деле под веб-сервисами они понимают HTTP + XML и по-другому не могут, тогда вам сложнее. Нужно или делать сайт прослойку, которая будет обмениваться с 1С информацией толи по SOAP, толи по COM, толи вообще текстовыми файлами. Или выкинуть все веб-сервисы, апачи, взять как я уже сказал WinSock и написать свой веб сервер, мне кажется с вашей задачей он справится
20 sda553
 
23.04.13
11:02
(19) Счас, завтра они по корейски скажут, что у сайта должна быть морда, где можно без всяких xml глазами посмотреть что и куда выдается, задавая руками параметры. И будешь ты со своим winsockом опять офигевать от новой прослойки
21 oleg_km
 
23.04.13
11:25
(20) Ну я-то не буду, у меня нет корейцев. Просто громоздить веб-сервер для веб-морды, потом веб-морда опять через веб-сервер будет обращаться к веб-сервисам и все это ради одного-двух запросов в день. Ну разве что это социальный проект по борьбе с безработицей
22 Turms
 
23.04.13
13:23
У меня есть две таблицы которые надо возвращать каждые 30 минут.
23 oleg_km
 
23.04.13
13:38
(22) Я рад, но мне добавить нечего. Корейцы готовы осваивать SOAP? Тогда тебе повезло.
24 Turms
 
23.04.13
14:25
Нет, от корейцев пришел ответ "Нам некогда осваивать новые методы"
25 Fragster
 
гуру
23.04.13
14:25
что-то я не понял, а бюджет какой?
26 oleg_km
 
23.04.13
14:52
(24) Это нормально, т.е. им некогда, а вам есть когда. Тогда действительно вопрос в бюджете, сколько ваш работодатель готов закопать денег или хотя бы человеко-дней
27 sikuda
 
23.04.13
15:02
(22) Можешь возращать им xml в виде строки типа http://sikuda.ru/?p=22.
Но еще раз повторюсь лень твоих корейцев, даст возможность тебе освоить Httpсоединение в 1с.
28 oleg_km
 
23.04.13
15:09
(27) Похоже беда еще в том, что корейцы не хотят у себя поднимать веб-сервер, а напрягают на это ТС. И это они хотят ходить по типа Httpсоединение, а ТС должен их запросы обрабатывать
29 Turms
 
23.04.13
22:24
(27) Да, я когда гуглил уже попадал по этой ссылке и даже в закладки поставил. И про НТТРСоединение почитал в синтакс помошнике и увидел аналоги методов GET & POST. Инфа полезная и я вижу применение новых возможностей в других проектах своих.
(28) Скорее всего с их стороны веб-сервер поднят и аналогичного они ждут от нас, но повторюсь у меня нет опыта работы в пхпп, поэтому писать прослойку буду нанимать со стороны.

У меня еще вопрос родился. Можно ли посредством веб-сервиса 1с вернуть xml док. Именно док, а то сейчас я у себя в тексте модуля формирую ЧтениеХМЛ, а потом методом УстановитьСтроку, возвращаю именно строку (string). Грубо говоря вопрос звучит так, какой тип выходного параметра мне установить у веб-сервиса чтобы вернуть ЧтениеХМЛ?
30 Kabz
 
23.04.13
23:30
31 Turms
 
25.04.13
13:00
Всем большое спасибо, в итоге была написана прослойка.
Ошибка? Это не ошибка, это системная функция.