Как построить мыло для отдыха шлюза - PullRequest
0 голосов
/ 25 января 2012

Как бы вы построили мыло, чтобы успокоить шлюз с наименьшим количеством работы?Я предоставляю REST API на моем сервере Rails 3.2.Мой клиент требует, чтобы я предоставил SOAP API.Я не хочу использовать Rails для предоставления API-интерфейса SOAP, поскольку это, вероятно, потребует гораздо больше работы, чем создание шлюза SOAP-REST с использованием инфраструктуры, полностью поддерживающей SOAP.

Ответы [ 2 ]

2 голосов
/ 27 января 2012

Я только что заметил, что Rails 3.2 автоматически разбирает SOAP-запросы в хэш params (ActionDispatch :: ParamsParser Rack middleware). Итак, я решил реализовать шлюз в Rails. Так как я на самом деле не хочу реализовывать полнофункциональный SOAP-сервер - все, что мне нужно, - это заставить его работать для текущего клиента SOAP моего клиента, - я просто прочитаю необходимые данные из хэша params и создаю xml-ответ используя Builder и опубликуйте статический файл wsdl, если он им нужен. Это будет менее 20 строк кода.

конфиг / routes.rb

Gateway::Application.routes.draw do
  match "/clientx/echo" => "clientx#echo"
end

приложение / контроллеры / clientx_controller.rb

class ClientxController < ApplicationController
  def echo
    # authenticate client
    # parse params
    # send and receive rest request
    # render response
  end
end
1 голос
/ 25 января 2012

А как насчет Мул ESB ? Поддерживает различные формы ввода и вывода возможностей. Внедрил SOAP-приложение для приема на основе самого Мула.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...