Да, решением для ваших требований является установка гема Actionwebservice в рельсы, если вы используете рельсы 2.3.2 и попробуйте установить гем Actionwebservice с помощью следующей команды
Шаг 1:
$ gem install datanoise-actionwebservice --source http://gems.github.com
Шаг 2: Добавьте камень в файл conf / environment.rb
config.gem 'datanoise-actionwebservice', :lib => 'actionwebservice'
Шаг 3: Создание веб-службы
$ ./script/generate web_service webservice_name
вы можете увидеть сгенерированные файлы веб-сервиса в / app / services
Шаг 4: Изменить контроллер
class YourController < ApplicationController
wsdl_service_name 'webservice_name'
web_service_api webservice_nameApi
web_service_scaffold :invocation if Rails.env == 'development'
def add(name, value)
Your.create(:name => name, :value => value).id
end
end
Шаг 5: Измените свой класс API в приложении / сервисах
class WebserviceNameApi < ActionWebService::API::Base
api_method :add, :expects => [:string, :string], :returns => [:int]
end
Шаг 6: Вы можете прочитать файл wsdl
$ ./script/server
$ curl http://localhost:3000/controller/wsdl