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

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

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

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

Комментарии
Избранное Подписка Сортировка: Древо
1. lunjio 62 04.02.16 15:37 Сейчас в теме
Буду рад и благодарен любым предложениям и замечаниям.
2. pbazeliuk 1681 16.02.16 12:40 Сейчас в теме
(1) минус реализации в том что идет жесткая привязка к SOAP-сервису. Систему можно сделать более динамической и независимой от программиста.
3. lunjio 62 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 62 17.02.16 10:19 Сейчас в теме
(4) abion,
Нет невыполнимых задач, если не подходящие по определенным критериям - время выполнения, архитектура, вопросы безопасности и т.п.
Да 1С не может вложения распозновать, я вижу следующие возможные варианты( перечислены сверху вниз по актуальности)):

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

Вакансии

Консультант 1С (Бухгалтерия)
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

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

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

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

Консультант 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день