0. lunjio 61 19.01.16 13:37 Сейчас в теме

Модуль для работы 1С (платформа 8.2 и выше) с внешними SOAP Web-сервисами

Модуль для работы 1С (платформа 8.2 и выше) с внешними Web-сервисами, реализованными по протоколу SOAP.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. lunjio 61 04.02.16 15:37 Сейчас в теме
Буду рад и благодарен любым предложениям и замечаниям.
2. pbazeliuk 1662 16.02.16 12:40 Сейчас в теме
(1) минус реализации в том что идет жесткая привязка к SOAP-сервису. Систему можно сделать более динамической и независимой от программиста.
3. lunjio 61 16.02.16 18:56 Сейчас в теме
(2) pbazeliuk,
Не понимаю, что вы имеете ввиду под словом более динамической и независимой от программиста ? Модуль наоборот, именно программистам и адресован, более динамическим его уже делать некуда, всё что нужно сделать это добавить шаблоны модулей, в шаблоне обслуживающего модуля прописать имя сервиса, адрес всдл и функции получения параметров и выполнения методов. По поводу жесткой привязки к SOAP - есть конечно и REST, про него никто не забыл, но как вы знаете 1С для вызова REST веб-сервисов рекомендует пользоваться стандартными объектами - HTTPСоединение и т.д, можно конечно расширить мой модуль до такой функциональности, но это наоборот увеличит число манипуляций для внедрения определеноого внешнего REST сервиса, если люди выявят, конечно сделаю/продумаю настолько, чтобы было максимально все просто и понятно для программиста при внедрении и использовании.
15. Магомедсалам 15.04.18 18:51 Сейчас в теме
(1) Спасибо большое за данную публикацию. Очень помогла.
4. abion 17.02.16 07:39 Сейчас в теме
Интересно. Но это уже сделано.
Интересует возможность отправки фалов по протоколу MTOM.
Эта задача кажется невыполнимой на данном этапе.
7. lunjio 61 17.02.16 10:19 Сейчас в теме
(4) abion,
Нет невыполнимых задач, если не подходящие по определенным критериям - время выполнения, архитектура, вопросы безопасности и т.п.
Да 1С не может вложения распозновать, я вижу следующие возможные варианты( перечислены сверху вниз по актуальности)):

1. Написать веб-сервис(на джаве или си шарпе) который будет у вас в сети, будет вложение сохранять и уже передавать в 1С в качестве доп параметра путь к файлу.(самый на мой взгляд оптимальный и пока, существующий). Писать на джаве и сишарпе не так сложно, в интернете куча примеров.
2 Попробовать через base64 файл как данные передавать , авось и не будет большая потеря во взаимодействии из-за большего размера чем по необходимой Вам технологии, конечно тут все относительно и надо смотреть на критерии - частота обмена, объем файлов и т.п.
3. Ждать от 1С, пока "родит" такую возможность.
8. Serginio 798 17.02.16 10:45 Сейчас в теме
5. premier 175 17.02.16 09:14 Сейчас в теме
(0), а зачем интегрировать внешние web-сервисы в конфигурацию? В платформе 1С:Предприятие версий 8.x реализован механизм динамического вызова web-сервисов. Пример можно посмотреть, перейдя по этой ссылке.
6. lunjio 61 17.02.16 09:57 Сейчас в теме
(5) premier, Вопрос конечно не совсем ясен, учитывая тот факт, что Вы сами разработчик). Не буду объяснять подробно, приведу примеры - интеграция с сайтом, мобильными приложениями, другими ИС на базе 1С, и т.п продолжать нет смысла, это именно МОДУЛЬ облегчающий вызовы внешних веб-сервисов из 1С, его даже можно переделать чтобы он автоматически формировал XDTO объект в качестве ответа внутреннего веб-сервиса предоставляемого 1С, на досуге займусь, судя по Вашей ссылке у Вас обработка просто для тестирования и просмотра определенных веб-сервисов.
У меня к Вам встречный вопрос, если Вы не видите смысла интегрировать, зачем тогда вообще их тестировать ???
9. premier 175 17.02.16 15:00 Сейчас в теме
(6) обработка названа SoapКлиент, и она предназначена не только для тестирования. Методы веб-сервисов, вызываемых динамически, можно использовать и в "рабочем" режиме. Кому-то удобней модуль встроить, кому-то обработку запустить и заполнив параметры получить от веб-сервиса необходимые данные. Оба подхода имеют право на жизнь. Чтобы Вы не принимали меня за критикана, поставлю Вам +. Больше подходов хороших и разных!
10. lunjio 61 17.02.16 15:21 Сейчас в теме
(9) premier,
Не принимаю за критикана, опять повторюсь, не совсем понятен Ваш вопрос, то ли Вы просто написали с целью сослаться на свою обработку, связанную с веб-сервисами. Вы как программист должны знать, зачем и для чего нужно интегрировать 1С с внешними веб-сервисами. Наши работы предназначены для разных целей работы с одной областью, хотя и имеют право на совместное использованию(ваша на этапе тестирования, моя работа на этапе внедрении), внедрение моего модуля, наверное проше куда некуда - указать имя сервиса местоположение WSDL и имена операций, в Вашем случае надо указать начинаю от пространства имен и т.п и т.д + не совсем представляю её как модуль для внедрения/интеграции 1С с внешними программами посредством веб-сервисов. Могли бы просто без вопроса сослаться на свою работу в сообщении.
11. premier 175 17.02.16 16:26 Сейчас в теме
(10) будем считать, что мы друг друга не поняли. Фраза "интегрировать 1С с внешними программами посредством вызова внешних веб-сервисов" ассоциировалась у меня со встраиванием веб-сервисов (точнее, WS-ссылок) в конфигурацию, а не о динамическом их вызове, отсюда и вопрос. Просто не увидел на скринах, где можно задать URL WSDL web-сервиса. А в общем и целом принципы работы достаточно похожи, судя по коду, в Вашей разработке и в моей. Вопрос снят.
P.S. Программный код на скриншоте читается тяжело, код лучше текстом оформлять. Чуть глаза не сломал, пока читал ))
И по поводу: "Могли бы просто без вопроса сослаться на свою работу в сообщении.". Обработка писалась лет 8 назад, я давно её не продвигаю, соответственно в её рекламе не вижу себя практического смысла. Выложил ссылку для примера (разработки - из одной и той же предметной области, Ваша - логически завершеннее).
12. lunjio 61 17.02.16 19:58 Сейчас в теме
(11) Согласен, с ноута особенно читается плохо, не знаю как делать код текстом пока)
Вебсервисы вызывать можно у меня в двух режимах, в динамическом - формируется Вс определения при каждом вызове, либо через WSСсылка, так же у меня сериализация идет для передачи с клиента на сервер в клиент-серверном варианте, создание анонимных типов + возможность указать реквизиты идентификаторы успешного вызова, как вы уже поняли прочитав код. Единственное что вижу, можно сюда привязать вызов rest сервисов, через рекомендуемые 1С объекты httpзапрос и т.п. Для интеграции, просто добавить объекта WSСсылка не достаточно ) нужно и логику вшить.
А вы кстати может знаете обработки которые на уровне запросов SQL позволяют базу чистить с отборами по реквизитам ?
13. premier 175 20.02.16 10:30 Сейчас в теме
(12) по поводу привязки rest сервисов: идея неплохая, имхо, повысит универсальность работы с веб-сервисами.
Обработки, которые работают напрямую с SQL сервером через запросы где-то видел на инфостарте, но, вроде бы, данное
действие нарушает лиц. соглашение с 1С, так что, возможно этих публикаций уже и нет.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Москва
Полный день