bdd2

Работа с веб-сервисами

Опубликовал Владимир Баданов (ghostaz) в раздел Обмен - Интеграция с WEB

Обработка для чтения и выполнения веб-сервисов на платформе 1С: Предприятие 8.2

 Основные возможности:

  • - ведение списка веб-сервисов с возможностью сохранения;
  • - получение свойств веб-сервиса с использованием языка WSDL;
  • - выполнение операция веб-сервиса;
  • - установка параметров ws-операции простого типа (строка, число, булево, дата);
  • - вывод результата исполнения ws-операции в xml;
  • - вывод результата исполнения ws-операции в дерево объектов (свойства объектов располагаются в иерархическом порядке).

Версии обработки:

  • - версия 2.0.1.3 от 28.09.2015
    • - Исправлена ошибка с зависанием обработки.
  • - версия 2.0.1.0 от 15.05.2013
    • - Добавлена возможность вывода результата ws-операции в дерево объектов;
    • - Улучшения интерфейса:
      • - Перекомпоновка списков веб-сервисов, точек подключения и операций;
      • - Разнесение кнопок по соответствующим страницам;
      • - Добавлена фильтрация операция по выбранной точке подключения;
    • - Добавлено определение типа параметра операции, для более удобного ввода;
    • - Добавлена функция сохранения списка веб-сервисов.


Задачи в разработке:

  • - сохранение введенных параметров ws-операций;
  • - возможность указания параметров ws-операций произвольного типа;
  • - добавление счетчика передаваемых данных и времени передачи;
  • - добавление утилиты нагрузочного тестирования;
  • - сохранение результатов ws-операции;
  • - возможность поиска строки в результате ws-операции (как в xml так и в дереве объектов);

Скачать файлы

Наименование Файл Версия Размер
WSReader2
.epf 15,24Kb
10.11.15
16
.epf 2.0.1.3 15,24Kb 16 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Василий Зайцев (vasiliy_b) 269 06.06.13 16:47 Сейчас в теме
А как это использовать и зачем?
2. Владимир Баданов (ghostaz) 106 06.06.13 17:02 Сейчас в теме
Аналог soapUI. Обработка позволяет выполнить операцию веб-сервиса и отобразить результат в виде xml или дерева.
3. Павел Опарин (opx) 416 06.06.13 17:52 Сейчас в теме
Через wsопредеелния делали?
4. Владимир Баданов (ghostaz) 106 06.06.13 21:45 Сейчас в теме
Да, делал с использованием WSОпределения и WSПрокси.
5. Евгений Иванов (superman) 09.06.13 18:49 Сейчас в теме
а чем soapUI не устраивает?
6. Владимир Баданов (ghostaz) 106 09.06.13 19:04 Сейчас в теме
Устраивает полностью. Хотя в последнее время мне быстрее и проще запустить собственную обработку.
Правда soapUI подтормаживает при различного рода анимациях (например всплывающие окна skype) под XP.
В бесплатной версии запрос предсталвен в виде текста. Для ввода даты надо помнить формат.
Замечено, что 1С может принять чуть больший обьем данных, чем soapUI.
7. Данила Елистратов (CagoBHuK) 25 13.06.13 10:16 Сейчас в теме
1. WSОпределения смогут обработать далеко не все файлы WSDL. Что Вы будете делать, когда человек, купивший Вашу обработку, пользоваться ей не сможет?
2. 1С далеко не всегда правильно обрабатывает HTTPS соединения. Например, могут быть проблемы с истекшими сроками сертификатов. В таком случае WSОпределения работать не будут
3. У Вас зачем-то необходимо явно указывать пространство имен веб-сервиса. Я, конечно, прекрасно понимаю, зачем Вы это сделали, но обычному пользователю это будет непонятно. Помимо всего прочего у Вас будет некорректно обрабатываться ситуация, когда в HTTP-заголовке указано одно пространство имен и SOAPAction, а в XML - другое. До кучи еще и в команде SOAP может быть указано свое пространство имен.
В общем короче считаю недоработанным сей механизм. За вывод результата в управляемую форму - плюс. За использование WSОпределения - минус. Перепишите на XMLHTTP, и цены Вашему решению не будет.
8. Владимир Баданов (ghostaz) 106 13.06.13 12:15 Сейчас в теме
Спасибо за замечания. На 1 и 2 пока не замечал проблем, наверно потому что работал с веб-сервисами созданными в 1С да и сертификат был не просроченным и про эту особенность я не знал. На счет третьего пункта - наоборот, пространство имен веб-сервиса нельзя менять, оно берется из описания веб-сервиса, но если кому и надо это - легко изменить в обработке. А на счет XMLHTTP это мысль хорошая, алmтернатива нужна. В любом случае это одна из первых версий и в дальнеших версиях функционал будет улучшаться.
9. Дмитрий Шерстобитов (DitriX) 2321 20.06.13 20:02 Сейчас в теме
10. Владимир Баданов (ghostaz) 106 20.06.13 21:20 Сейчас в теме
Если бы я увидел ее раньше, то наверно свою бы не писал), а доработал бы эту.
Основа та же - WSОпределления, разница больше в удобстве.
Различия:
1 - WSReader2 в управляемой форме
2 - WSReader2 позволяет хранить список WSDL и данных авторизациии, та обработка хранит только данные одного веб-сервиса
3 - WSReader2 сохраняет список веб-сервисов в файл, та обработка использует функцию СохранитьЗначение()
4 - WSReader2 определяет тип входных параметров ws-операции, что поволяет пользователю вводить параметры в поле соответствуюущего типа, правда пока что только простые типы. Та обработка всегда всегда предлагает ввести строку - в этом случае придется например помнить формат представления даты
5 - WSReader2 может вывести на экран как результат строкового типа, так и результат типа ОбъектXDTO. В последнем случае возможно получить представление в виде дерева значений, что приятнее просматривать. Сравнимаемая обработка выводит, если я не ошибся, только результат типа Строка.
6 - WSReader2 выводит типы параметров, типы возвращаемых значений операций, типы объектов
7 - В сравниваемой обработке, почему то, жестко забито пространоство имен веб сервиса... Возможно автор просто забыл убрать

Это лишь косметические различия, но главное различие в том, что WSReader2 развивается и получает новые функции.
11. Kamik 24.09.13 04:07 Сейчас в теме
на wsdl из подвески уходит в бесконечный цикл.
Прикрепленные файлы:
RateWS.wsdl
12. Максим Супрун (smaximaa) 26.01.16 09:12 Сейчас в теме
Хорошая альтернатива SoapUI.
13. Максим Супрун (smaximaa) 26.01.16 09:20 Сейчас в теме
Кто нибудь знает, что за ошибка у меня возникает при нажатии на кнопку "Выполнить операцию"?
Текст ошибки:
{(1)}: Ошибка при вызове метода контекста (GetProductByGuid)
Результат = WSПрокси.GetProductByGuid("57a674fd-ca2b-c523-6853-72d27b4ae32c");
по причине:
Ошибка вызова операции сервиса: {http://api.vetrf.ru/schema/cdm/registry/service}:ProductServiceBindingQSService:GetProductByGuid()
по причине:
Неизвестная ошибка. Ошибка работы с Интернет: Failure when receiving data from the peer
по причине:
Ошибка работы с Интернет: Failure when receiving data from the peer