如何建立肥皂休息网关

时间:2012-01-25 12:07:04

标签: soap

如何以最少的工作量建立肥皂来休息?我在Rails 3.2服务器上提供了REST API。我的客户要求我提供SOAP API。我不想使用Rails来提供SOAP API,因为这可能比使用完全支持SOAP的框架构建SOAP到REST网关要花费更多的工作。

2 个答案:

答案 0 :(得分:2)

我刚注意到Rails 3.2自动将SOAP请求解析为params哈希(ActionDispatch :: ParamsParser Rack中间件)。所以,我决定在Rails中实现网关。因为我并不真正关心实现一个功能齐全的SOAP服务器 - 我想要的是让它适用于我客户当前的SOAP客户端 - 我只需从params hash读取我需要的数据并构建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 :(得分:1)

Mule ESB怎么样?支持各种形式的输入和输出可能性。我自己实现了基于Mule的SOAP接收应用程序。