This project was developed mainly for integration Ruby on Rails with 1C Enterprise 8 system. The writing of code in 1C is fully in Russian and 99% for Russian-speaking customers. That is why I don't see the reason to develope this project in English.
If you have questions, please feel free ask me by writing on my email: login.hedin@gmail.com.
Another my contacts and info about me, you can find out at alexkalinin.pro
- Реализовать SOAP веб-сервис на Ruby on Rails
- Реализовать SOAP-клиента с помощью 1C:Предприятие 8
- Проверить возможность передавать/получать строки, числа, небольшие файлы (до 100Мб)
Задачу реализации SOAP-сервиса удалось решить благодаря gem-у wash_out (rubygems, github)
У 1С8 есть возможность подключаться к SOAP-веб-сервисам и к REST-веб-сервисам. Я выбрал SOAP, т.к. он удобнее реализован в 1С + он удобнее в разрезе передачи разных примитивных данных (строки, числа...), а также благодаря возможности передачи довольно больших строк (до 100Мб) - можно передавать / получать также любые файлы, закодированные в base64.
Примечание: если Вам все-же нужно научить 1С выполнять прием/передачу данных по REST (например, если есть необходимость передавать файлы больше 100Мб), то можно посмотреть пример обработки _vendors/OnesSendReceiveFileWithREST.epf которая была загружена отсюда: http://forum.aeroion.ru/topic446.html
RoR-часть запускается стандартно, командами:
cd rails/
bundle install
rails s -b 0.0.0.0 -p 3000
После сообщений:
можно запустить браузер и проверить, доступен ли WSDL SOAP-сервиса:
Для развертывания 1С-части достаточно в пустой 1С-базе (режим "Обычное приложение") запустить обработку 1c8/OnecSoapClient.epf.
Исходя из WSDL-схемы нужно прописать настройки:
Затем можно попробовать отправить по SOAP файл в виде base64-строки:
и принять его обратно:
Также можно убедиться что файл не был поврежден при приеме/передаче
md5sum original.png uploaded.png downloaded.png
87f7b976523270929007e4583e05919a original.png
87f7b976523270929007e4583e05919a uploaded.png
87f7b976523270929007e4583e05919a downloaded.png
- Web-сервисы из 1С в PHP (форум)
- Доступ к SOAP веб-сервисам 1С из JavaScript и Html (habr)
- SOAP, wikipedia
- Стандарт SOAP 1, 2, 3, 4
- SOAP средствами Ruby on Rails:
- http://habrahabr.ru/company/roundlake/blog/135614/ - SOAP-сервер на Rails 3.x (WashOut)
- https://github.com/inossidabile/wash_out - gem WashOut (rails soap service)
- 1С как клиент для SOAP-вебсервиса:
- http://habrahabr.ru/post/148658/ - Использование внешних веб-сервисов в 1С на примере загрузки курсов валют
- http://howknow1c.ru/programmirovanie-1c/ws-ssylki-1s.html - WS-ссылки 1С
- http://start1c.blogspot.com/2012/09/ws.html - WS-ссылки 1С
- https://github.com/inossidabile/wash_out - Библиотека WashOut
- https://github.com/AlexKalinin/v8unpack -- для распаковки 1С .cf (файла конфигурации)
- php-заглушка для теста веб-сервиса из 1С