# Actionwebservice

**URL:** <https://www.ruby-forum.com/t/actionwebservice/136988>\
**Category:** Rails\
**Created:** [May 7, 2008, 11:47pm UTC](https://www.ruby-forum.com/t/actionwebservice/136988 "2008-05-07T23:47:16Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![MingMingTian](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e495f1/32.png) [@MingMingTian](https://www.ruby-forum.com/u/MingMingTian)\
**Post date:** [May 7, 2008, 11:47pm UTC](https://www.ruby-forum.com/t/actionwebservice/136988/1 "2008-05-07T23:47:16Z")

</div>

I am just learning some about web service. But many guys still use  
Java (Jws). But I wanna try ROR. There are less information about it.

I can’t get install plugin in the ROR 2.0.x. So I followed the  
standard textbook(“Agile\_Web\_Development\_With\_Rails-2nd” and “Ruby on  
Rails for PHP and Java Developers”) I almost finished it. However, I  
can’t find my api ([http://localhost:3001/hello/api](http://localhost:3001/hello/api) : GET not  
supported). Anybody can help me? Many thanks.

I wanna invoke simple web service from client(3000) to Server(3001,  
web service in)

## I start localserver: [http://localhost:3000/helloadmin](http://localhost:3000/helloadmin)

Hello Web Service

This rails application tests a web service.

Name:( )

## Get Message

submit and get errors:

* * *

* * *

NameError in HelloadminController#getMsg\_client

uninitialized constant HelloadminController::HelloApi

RAILS\_ROOT: ./script/…/config/…  
Application Trace | Framework Trace | Full Trace

D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:477:in `const_missing' #{RAILS_ROOT}/app/controllers/helloadmin_controller.rb:21:in `getMsg\_client’

D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:477:in `const_missing' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:1095:in `send’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/base.rb:1095:in `perform_action_without_filters' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:632:in `call\_filter’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/filters.rb:619:in `perform_action_without_benchmark' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/benchmarking.rb:66:in `perform\_action\_without\_rescue’  
D:/InstantRails1.7/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/benchmarking.rb:66:in `perform\_action\_without\_rescue’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/rescue.rb:83:in `perform_action' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:430:in `send’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/base.rb:430:in `process_without_filters' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:624:in `process\_without\_session\_management\_support’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/session\_management.rb:114:in `process' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:330:in `process’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/  
dispatcher.rb:41:in `dispatch' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel/rails.rb:78:in `process’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel/rails.rb:76:in `synchronize' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel/rails.rb:76:in `process’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:618:in `process_client' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:617:in `each’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:617:in `process_client' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:736:in `run’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:736:in `initialize' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:736:in `new’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:736:in `run' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:720:in `initialize’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:720:in `new' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:720:in `run’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel/configurator.rb:271:in `run' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel/configurator.rb:270:in `each’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel/configurator.rb:270:in `run' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ bin/mongrel_rails:127:in `run’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel/command.rb:211:in `run' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ bin/mongrel_rails:243 D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/ lib/ active_support/dependencies.rb:488:in `load’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:488:in `load' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/ lib/ active_support/dependencies.rb:342:in `new\_constants\_in’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:488:in `load' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/ commands/servers/mongrel.rb:60 D:/InstantRails1.7/ruby/lib/ruby/site_ruby/1.8/rubygems/ custom_require.rb:27:in `gem\_original\_require’  
D:/InstantRails1.7/ruby/lib/ruby/site\_ruby/1.8/rubygems/  
custom\_require.rb:27:in `require' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/ lib/ active_support/dependencies.rb:495:in `require’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:342:in `new_constants_in' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/ lib/ active_support/dependencies.rb:495:in `require’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/  
commands/server.rb:39  
D:/InstantRails1.7/ruby/lib/ruby/site\_ruby/1.8/rubygems/  
custom\_require.rb:27:in `gem_original_require' D:/InstantRails1.7/ruby/lib/ruby/site_ruby/1.8/rubygems/ custom_require.rb:27:in `require’  
script/server:3

D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:477:in `const_missing' #{RAILS_ROOT}/app/controllers/helloadmin_controller.rb:21:in `getMsg\_client’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/base.rb:1095:in `send' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:1095:in `perform\_action\_without\_filters’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/filters.rb:632:in `call_filter' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:619:in `perform\_action\_without\_benchmark’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/benchmarking.rb:66:in  
`perform_action_without_rescue' D:/InstantRails1.7/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/benchmarking.rb:66:in  
`perform_action_without_rescue' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/rescue.rb:83:in `perform\_action’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/base.rb:430:in `send' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:430:in `process\_without\_filters’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/filters.rb:624:in  
`process_without_session_management_support' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/session_management.rb:114:in `process’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/  
action\_controller/base.rb:330:in `process' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/ dispatcher.rb:41:in `dispatch’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel/rails.rb:78:in `process' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel/rails.rb:76:in `synchronize’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel/rails.rb:76:in `process' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:618:in `process\_client’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:617:in `each' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:617:in `process\_client’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:736:in `run' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:736:in `initialize’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:736:in `new' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:736:in `run’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:720:in `initialize' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel.rb:720:in `new’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel.rb:720:in `run' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel/configurator.rb:271:in `run’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
lib/mongrel/configurator.rb:270:in `each' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel/configurator.rb:270:in `run’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
bin/mongrel\_rails:127:in `run' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/ lib/mongrel/command.rb:211:in `run’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/  
bin/mongrel\_rails:243  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:488:in `load' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/ lib/ active_support/dependencies.rb:488:in `load’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:342:in `new_constants_in' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/ lib/ active_support/dependencies.rb:488:in `load’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/  
commands/servers/mongrel.rb:60  
D:/InstantRails1.7/ruby/lib/ruby/site\_ruby/1.8/rubygems/  
custom\_require.rb:27:in `gem_original_require' D:/InstantRails1.7/ruby/lib/ruby/site_ruby/1.8/rubygems/ custom_require.rb:27:in `require’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:495:in `require' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/ lib/ active_support/dependencies.rb:342:in `new\_constants\_in’  
D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/  
lib/  
active\_support/dependencies.rb:495:in `require' D:/InstantRails1.7/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/ commands/server.rb:39 D:/InstantRails1.7/ruby/lib/ruby/site_ruby/1.8/rubygems/ custom_require.rb:27:in `gem\_original\_require’  
D:/InstantRails1.7/ruby/lib/ruby/site\_ruby/1.8/rubygems/  
custom\_require.rb:27:in `require’  
script/server:3

Request

Parameters: {“name”=\>[“ww”], “commit”=\>“Get Message”}

Show session dump

* * *

flash: !map:ActionController::Flash::FlashHash {}

## Response Headers: {“cookie”=\>[], “Cache-Control”=\>“no-cache”}

* * *

My codes:

helloservice:

helloservice\app\apis:

class HelloApi \< ActionWebService::API::Base  
api\_method :getMsg,  
:expects =\> [{:name =\> :string}],  
:returns =\> [[:string]]  
end

helloservice\app\controllers

class HelloController \< ApplicationController  
wsdl\_service\_name ‘Hello’

web\_service\_api HelloApi  
web\_service\_scaffold :invoke

def getMsg(name)  
"Hello "+ name  
end  
end

helloadmin:

helloadmin\app\controllers

class HelloadminController \< ApplicationController  
def getMsg\_client  
hello\_client = ActionWebService::Client::Soap.new(HelloApi,  
“[http://localhost:3001/hello/api](http://localhost:3001/hello/api)”)  
@service\_output = hello\_client.getMsg(params[:name])  
end  
end

helloadmin\app\views\helloadmin

index.rhtml:

 Hello Web Service 
# Hello Web Service

This rails application tests a web service.

 \<%= start\_form\_tag :action=\> 'getMsg\_client' %\> 

Name  
 \<%= text\_field 'name', '' %\>

 \<%= submit\_tag "Get Message" %\> \<%= end\_form\_tag %\> 

getMsg.rhtml:

 Hello Web Service 

\<%= @service\_output %\>

I don’t understand why it is not working!!!

Ming

---

<div class="post-metadata">

**Author:** ![MingMingTian](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e495f1/32.png) [@MingMingTian](https://www.ruby-forum.com/u/MingMingTian)\
**Post date:** [May 8, 2008, 1:14am UTC](https://www.ruby-forum.com/t/actionwebservice/136988/2 "2008-05-08T01:14:38Z")

</div>

Check out

> **[钛刻专家——官网](https://www.texperts.com/2007/12/21/using-action-web-service-with-rails-2)**
>
> 钛刻专家致力于打造一个全球专家在线服务平台，为机构和个人对接高水平行业专家，为机构提供更系统性的线下定制专家服务。

0/

if you are trying to get it to work on Rails 2.0
