Статьи

Вызов веб-сервисов JSON в Python с помощью Zato ESB

В этом практическом руководстве показано, что необходимо для вызова веб-служб на основе JSON с использованием Zato , ESB на основе Python для SOA, облачных интеграций и внутренних служб.

Покажи мне код

Это код, необходимый:

# stdlib
from json import dumps

# Zato
from zato.server.service import Service

class MyService(Service):
    def handle(self):

        endpoint = self.outgoing.plain_http.get('Get Last Payment')

        request = dumps({'customer':123})
        response = endpoint.conn.post(self.cid, request)

        self.logger.info(response.text)

Читайте ниже для всей истории.

Сменные конечные точки

Все в Zato о повторном использовании . Никакая информация никогда не кодируется жестко, поэтому вы не можете напрямую обращаться к каким-либо конкретным адресам. Ваши собственные сервисы используют повторно используемые исходящие соединения, которые создаются с использованием графического интерфейса пользователя , интерфейса командной строки , API или массово из файлов конфигурации.

Таким образом, приведенный выше код просто связан с производством запросов и обработкой ответов, но не с тривиальностями, такими как адреса конечных точек.

Вам также не нужно кодировать безопасность — она ​​добавляется платформой автоматически, если это необходимо.

Любопытно, что конечные точки HTTP основаны на превосходной библиотеке запросов, и вы всегда можете получить прямой доступ к базовому соединению, если это необходимо.

Создание исходящего соединения в графическом интерфейсе

Заполнение формы, подобной приведенной ниже, достаточно для создания исходящего соединения с удаленным веб-сервисом и его распространения на все серверы в кластере Zato .

Никаких перезапусков не требуется. Все горячо перенастроено.


И это все, что нужно сделать.

В будущем, если вам необходимо обновить существующее определение, это можно сделать с помощью перезапусков, просто заполнив форму без изменений кода.

Больше примеров использования

Просмотрите полный API и примеры использования JSON здесь . Учебник также использует JSON в части 2 .

И, кстати, Zato имеет поддержку для XML , SOAP , CSV , другие форматы данных , AMQP , FTP , JMS WebSphere MQ , Redis , планирования работы , SQL и ZeroMQ тоже!