Рубрика «soap»

Практически в любом нашем проекте, который интегрируется с сервисами заказчика, используются SOAP-сервисы. И в каждом таком проекте есть задача логирования информации. Мы особенно заинтересованы в логировании запросов, которые связаны с бизнес-операциями решения. Например, сотрудник ввел неправильные данные и сервис вернул ошибку. Мы хотим знать детали этой ошибки и как можно быстрее её поправить или вынести на обсуждение с заказчиком.

Мы хотели бы видеть запросы нашего клиента и ответы сервиса в неизменном виде, поскольку это помогает разбирать возникающие проблемы.

В этой статье расскажем, как мы настроили выборочное логирование трафика для сервисов SOAP.

Выборочное логирование трафика для сервисов SOAP - 1
Читать полностью »

REST — это новый SOAP - 1

Несколько лет назад я разрабатывал для одного большого телекома новую информационную систему. Нам приходилось взаимодействовать со всё нарастающим количеством веб-сервисов, открываемых более старыми системами или бизнес-партнёрами. Как вы понимаете, мы получили добрую порцию SOAP-ада. Заумные WSDL, несовместимые библиотеки, странные баги… Где только возможно мы старались продвинуть — и использовать — простые RPC-протоколы: XMLRPC или JSONRPC.

Читать полностью »

Так получилось, что в рамках своей работы я связался с проектом по разработке приложения для общения Android и 1С. Быстрый поиск в интернете дал достаточно четкие инструкции и куски кода, которые очень быстро оформились в готовую программу, но запускаться она не хотела. Здесь я расскажу основные тонкости и способы их решения.
Читать полностью »

У .NET есть несколько вариантов создания SOAP клиента, одним из них является его генерация с помощью wsdl.exe. На выходе получаем файл (поскольку пишу я на C#, то генерировал cs, соответственно), основой которого является класс, унаследованный от SoapHttpClientProtocol. Подробнее тут.

С моей точки зрения, это достаточно удобный способ, к тому же сам клиент можно подразогнать с помощью sgen.exe (очень хороший пример). Тем не менее есть у него один очень серьезный недостаток — это отсутствие штатной возможности получения текста запроса/ответа. А это было бы крайне удобно при первичной отладке сервисов, разборе ошибок и, самое главное, при возможных разбирательствах со стороны, эти самые сервисы предоставляющей.

Впрочем, если очень хочется, то нужно сделать.

Основная идея

Читать полностью »

При текущих ценах на рекламу хочется быть уверенным в эффективности, не правда ли? Запуская кампанию, предполагается, что ни зной, ни холод не станет на ее пути. Но даже надежные сайты иногда сбоят. Как сделать так, чтобы деньги в это время не улетели в трубу? Рассмотрим нюансы и решение от сервиса мониторинга доступности сайтов ХостТрекер.

Перестаньте терять деньги в Adwords при форс-мажорах с сайтом - 1
Читать полностью »

Знакомство с библиотекой Spyne

В данной статье я хочу рассказать о замечательной Python-библиотеке Spyne.
Мое знакомство с Spyne началось в тот момент, когда передо мной поставили задачу написать Веб-сервис, который будет принимать и отдавать запросы через SOAP-протокол. Немного погуглив я наткнулся на Spyne, которая является форком библиотеки soaplib. А еще я был удивлен, насколько мало русскоязычной информации встречается о данной библиотеке.

С помощью Spyne можно писать веб-сервисы, которые умеют работать с SOAP, JSON, YAML, а написанный скрипт можно запустить через mod_wsgi Apache. Итак, давайте рассмотрим несколько примеров, напишем работающие скрипты и настроим так, чтобы скрипты работали через apache.Читать полностью »

Введение

Вот не люблю я изобретать велосипед и статью я бы эту не написал, но пришлось. Про REST сказано уже довольно много. Многие поставщики веб служб готовы клясться, что их службы являются RESTful. Во время собеседования вы точно услышите хотя бы несколько вопросов про REST, независимо от того это собеседования для бэкенд, мобайл или фронтенд разработчика. Я вот помню как-то во время одного собеседования меня задали такой вопрос: «Вот вы написали в своем резюме, что знайте REST․ Ответьте пожалуйста, какой HTTP код вы получите, если при запросе к RESTful сервису ресурс не найден?». Ответ 404 был принят единогласно. Если честно, я так и не понял, как этот вопрос помог понять знаю ли я REST или нет, но одно могу уверенно сказать: REST понимают далеко не все. Вот некоторые вопросы, которые мучали меня долгое время:

  1. Зачем REST стал таким трендовым? Это архитектура была же предложена еще в 2000 году?
  2. Что я получу если моя служба будет RESTful?
  3. Как определить является ли служба RESTful или нет?
  4. Как правильно должны создаваться URL REST служб?
  5. Какие http методы и коды должны быть использованы в RESTful службе?

Если вы не можете дать исчерпывающего ответа хотя бы на один из этих вопросов, то продолжайте чтение. Если вы можете однозначно ответить на все эти вопросы, можете привести формат правильного URL, считайте, что GET, POST, PUT, DELETE обязательно должны соответствовать CRUD операциям с ресурсами, то вам обязательно надо продолжать чтение.
Читать полностью »

Универсальная интеграция 3CX с любой CRM системой

Сегодня мы расскажем о том, как решить, пожалуй, самую актуальную проблему современной телефонии – интеграцию со сторонними информационными системами, прежде всего, CRM системами. Необходимо отметить, что сейчас существует много облачных сервисов телефонии, предлагающих, также, базовый функционал CRM. С другой стороны, многие производители CRM пытаются интегрировать базовые функции телефонии непосредственно в интерфейс пользователя. Также существуют готовые системы “два-в-одном”, в которых уже при проектировании закладывались коммуникационные возможности.

Одним словом, производители этих решений услышали требования пользователей и двигаются в правильном направлении. В целом, так оно и есть. Однако подход “два-в-одном” имеет ряд недостатков, самый главный из которых – неудовлетворительная гибкость. Согласитесь, создание функциональной системы объединенных коммуникаций и первоклассной CRM требует совершенно разных компетенций. В результате пользователь сталкивается либо с ограниченными коммуникационными возможностями, либо с бесполезной “обрезанной” CRM с неясными перспективами развития.

В системах, где CRM изначально объединена с телефонией, также существует ряд недостатков:Читать полностью »

В завершение описания своего опыта усовершенствования процесса управления перепиской, мне осталось рассказать только про выборки, с которым имеют дело все участники процесса. Наглядное представление информации – одно из важнейших составляющих успешного запуска, согласитесь!
Опыт автоматизации непростой переписки (Завершение. Выборки и экспорт) - 1
Напомню, что в предыдущих статьях было описано поведение входящих и исходящих писем. Кульминация под катом: много текста, кода и немного анимации.
Читать полностью »

Пройдясь поиском по Хабрахабру, удалось обнаружить не так уж и много информации, посвященной, надо сказать, не очень распространённому языку BPEL (Business Process Execution Language). Если говорить в общем, то BPEL – это язык, основанный на формате XML, который позволяет описывать логику бизнес-процессов через использование веб-служб.

Создание бизнес-процесса на языке BPEL с использованием платформы Serena Business Manager - 1


Реализаций движков, позволяющих создавать процессы с использованием этого языка, мне известно не так уж и много. В частности, можно упомянуть Oracle BPEL Process Manager и продукт, о котором пойдет речь дальше – Serena Business Manager (SBM). SBM позволяет быстро создавать web-приложения, автоматизирующие какой-нибудь процесс. В модели процесса (workflow) предусмотрена возможность в момент изменения состояния вызвать внешнюю web службу. А если нужно реализовать какую-нибудь логику и одного вызова недостаточно? Вот тут и пригодится процедура, написанная на языке BPEL и исполняемая средствами той же платформы BPM.

Подробнее на самом языке я останавливаться не буду, в сети можно найти достаточно информации на эту тему, например, здесь. Я же опишу реализацию конкретной задачи.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js