Holger Biebinger
2006-Aug-16 17:50 UTC
[Rails] ActionWebService: XMLRPC Server Multicall possible?
Hi all, I have a question concerning ActionWebService XMLRPC servers: Is it possible to send multicall requests to the Web service? I tried to use multicall and get the error message: no such method ''system.multicall'' on API [MyAPI] In Changeset 2021 there is the following commit message: add ''system.multicall'' support to XML-RPC. boxcarred methods must still exist on the target service(s), value casting will still be performed, and recursive ''system.multicall'' calls are not allowed. Any hints what I can do to enable multicalls in my Rails application? best regards, Holger
Kent Sibilev
2006-Aug-16 22:23 UTC
[Rails] ActionWebService: XMLRPC Server Multicall possible?
multicall should be enabled by default. Show me how you call it, please. On 8/16/06, Holger Biebinger <holger.biebinger@gmx.de> wrote:> Hi all, > I have a question concerning ActionWebService XMLRPC servers: Is it > possible to send multicall requests to the Web service? I tried to > use multicall and get the error message: > no such method ''system.multicall'' on API [MyAPI] > > In Changeset 2021 there is the following commit message: > add ''system.multicall'' support to XML-RPC. boxcarred methods must > still exist > on the target service(s), value casting will still be performed, and > recursive > ''system.multicall'' calls are not allowed. > > Any hints what I can do to enable multicalls in my Rails application? > > best regards, > Holger > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-- Kent --- http://www.datanoise.com
Holger Biebinger
2006-Aug-17 09:38 UTC
[Rails] ActionWebService: XMLRPC Server Multicall possible?
Thank you very much for your help.
irb(main):001:0> require ''xmlrpc/client''
=> true
irb(main):002:0> server =
XMLRPC::Client.new2(''http://localhost:3000/
my/api'')
=> #<XMLRPC::Client:0x59a2e0 @user=nil, @proxy_port=nil, @auth=nil,
@cookie=nil, @create=nil, @port=3000, @http=#<Net::HTTP localhost:
3000 open=false>, @proxy_host=nil, @http_last_response=nil,
@parser=nil, @timeout=30, @path="/my/api", @password=nil,
@http_header_extra=nil, @use_ssl=false, @host="localhost">
irb(main):004:0> result =
server.multicall([''UniverseGetBuildings'',
''de'',
''666''],[''UniverseGetDefense'',
''de'', ''666''])
XMLRPC::FaultException: XMLRPC::FaultException
from /usr/local/lib/ruby/1.8/xmlrpc/client.rb:447:in
`multicall''
from (irb):4
irb(main):005:0> result2 = server.multicall2([''Function1'',
''param1,
''param2''],[''Function2'',
''param1'', ''param2''])
=> [false, #<XMLRPC::FaultException: XMLRPC::FaultException>]
irb(main):009:0> result2[1].to_h
=> {"faultCode"=>2, "faultString"=>"no such
method ''system.multicall''
on API MyApi"}
On Aug 17, 2006, at 12:23 AM, Kent Sibilev wrote:
> multicall should be enabled by default. Show me how you call it,
> please.
>
> On 8/16/06, Holger Biebinger <holger.biebinger@gmx.de> wrote:
>> Hi all,
>> I have a question concerning ActionWebService XMLRPC servers: Is it
>> possible to send multicall requests to the Web service? I tried to
>> use multicall and get the error message:
>> no such method ''system.multicall'' on API [MyAPI]
>>
>> In Changeset 2021 there is the following commit message:
>> add ''system.multicall'' support to XML-RPC. boxcarred
methods must
>> still exist
>> on the target service(s), value casting will still be performed, and
>> recursive
>> ''system.multicall'' calls are not allowed.
>>
>> Any hints what I can do to enable multicalls in my Rails application?
>>
>> best regards,
>> Holger
>> _______________________________________________
>> Rails mailing list
>> Rails@lists.rubyonrails.org
>> http://lists.rubyonrails.org/mailman/listinfo/rails
>>
>
>
> --
> Kent
> ---
> http://www.datanoise.com
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
Kent Sibilev
2006-Aug-17 14:39 UTC
[Rails] ActionWebService: XMLRPC Server Multicall possible?
Can you check log files at the server side? Are there any exceptions logged? On 8/17/06, Holger Biebinger <holger.biebinger@gmx.de> wrote:> Thank you very much for your help. > > irb(main):001:0> require ''xmlrpc/client'' > => true > > irb(main):002:0> server = XMLRPC::Client.new2(''http://localhost:3000/ > my/api'') > => #<XMLRPC::Client:0x59a2e0 @user=nil, @proxy_port=nil, @auth=nil, > @cookie=nil, @create=nil, @port=3000, @http=#<Net::HTTP localhost: > 3000 open=false>, @proxy_host=nil, @http_last_response=nil, > @parser=nil, @timeout=30, @path="/my/api", @password=nil, > @http_header_extra=nil, @use_ssl=false, @host="localhost"> > > irb(main):004:0> result = server.multicall([''UniverseGetBuildings'', > ''de'', ''666''],[''UniverseGetDefense'', ''de'', ''666'']) > XMLRPC::FaultException: XMLRPC::FaultException > from /usr/local/lib/ruby/1.8/xmlrpc/client.rb:447:in > `multicall'' > from (irb):4 > > irb(main):005:0> result2 = server.multicall2([''Function1'', ''param1, > ''param2''],[''Function2'', ''param1'', ''param2'']) > => [false, #<XMLRPC::FaultException: XMLRPC::FaultException>] > > irb(main):009:0> result2[1].to_h > => {"faultCode"=>2, "faultString"=>"no such method ''system.multicall'' > on API MyApi"} > > > > On Aug 17, 2006, at 12:23 AM, Kent Sibilev wrote: > > > multicall should be enabled by default. Show me how you call it, > > please. > > > > On 8/16/06, Holger Biebinger <holger.biebinger@gmx.de> wrote: > >> Hi all, > >> I have a question concerning ActionWebService XMLRPC servers: Is it > >> possible to send multicall requests to the Web service? I tried to > >> use multicall and get the error message: > >> no such method ''system.multicall'' on API [MyAPI] > >> > >> In Changeset 2021 there is the following commit message: > >> add ''system.multicall'' support to XML-RPC. boxcarred methods must > >> still exist > >> on the target service(s), value casting will still be performed, and > >> recursive > >> ''system.multicall'' calls are not allowed. > >> > >> Any hints what I can do to enable multicalls in my Rails application? > >> > >> best regards, > >> Holger > >> _______________________________________________ > >> Rails mailing list > >> Rails@lists.rubyonrails.org > >> http://lists.rubyonrails.org/mailman/listinfo/rails > >> > > > > > > -- > > Kent > > --- > > http://www.datanoise.com > > _______________________________________________ > > Rails mailing list > > Rails@lists.rubyonrails.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-- Kent --- http://www.datanoise.com
Holger Biebinger
2006-Aug-17 15:10 UTC
[Rails] ActionWebService: XMLRPC Server Multicall possible?
An excerpt from my development.log the server.log file is empty in
my application''s log dir I hope tha helps. Or do you mean an other
log file?
Parameters: {"<?xml version"=>"\"1.0\" ?
><methodCall><methodName>system.multicall</
methodName><params><param><value><array><data><value><struct><member><na
me>methodName</name><value><string>UniverseGetDefense</string></
value></member><member><name>params</
name><value><array><data><value><string>de</string></
value><value><string>666</string></value></data></array></value></
member></struct></value><value><struct><member><name>methodName</
name><value><string>UniverseGetBuildings</string></value></
member><member><name>params</
name><value><array><data><value><string>de</string></
value><value><string>666</string></value></data></array></value></
member></struct></value></data></array></value></param></params></
methodCall>\n", "action"=>"api",
"controller"=>"oms"}
Web Service Request: system.multicall
([{"methodName"=>"UniverseGetDefense",
"params"=>["de", "666"]},
{"methodName"=>"UniverseGetBuildings",
"params"=>["de", "666"]}])
Entrypoint: api
ler"=>"oms"}
Web Service Request: system.multicall
([{"methodName"=>"UniverseGetDefense",
"params"=>["de", "666"]},
{"methodName"=>"UniverseGetBuildings",
"params"=>["de", "666"]}])
Entrypoint: api
<?xml version="1.0"
?><methodCall><methodName>system.multicall</
methodName><params><param><value><array><data><value><struct><member><na
me>methodName</name><value><string>UniverseGetDefense</string></
value></member><member><name>params</
name><value><array><data><value><string>de</string></
value><value><string>666</string></value></data></array></value></
member></struct></value><value><struct><member><name>methodName</
name><value><string>UniverseGetBuildings</string></value></
member><member><name>params</
name><value><array><data><value><string>de</string></
value><value><string>666</string></value></data></array></value></
member></struct></value></data></array></value></param></params></
methodCall>
ActionWebService::Dispatcher::DispatcherError (no such method
''system.multicall'' on API OmsApi):
/usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.1.2/lib/
action_web_service/dispatcher/abstract.rb:152:in
`web_service_invocation''
/usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.1.2/lib/
action_web_service/dispatcher/abstract.rb:18:in
`invoke_web_service_request''
/usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.1.2/lib/
action_web_service/dispatcher/action_controller_dispatcher.rb:53:in
`dispatch_web_service_request''
/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure''
/usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.1.2/lib/
action_web_service/dispatcher/action_controller_dispatcher.rb:51:in
`dispatch_web_service_request''
(eval):1:in `api''
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/
action_controller/base.rb:910:in `perform_action_without_filters''
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/
action_controller/filters.rb:368:in `perform_action_without_benchmark''
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/
action_controller/benchmarking.rb:69:in `perform_action_without_rescue''
/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure''
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/
action_controller/benchmarking.rb:69:in `perform_action_without_rescue''
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/
action_controller/rescue.rb:82:in `perform_action''
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/
action_controller/base.rb:381:in `process_without_filters''
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/
action_controller/filters.rb:377:in
`process_without_session_management_support''
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/
action_controller/session_management.rb:117:in `process''
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/dispatcher.rb:
38:in `dispatch''
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/
fcgi_handler.rb:150:in `process_request''
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/
fcgi_handler.rb:54:in `process!''
/usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:600:in `each_cgi''
/usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi''
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/
fcgi_handler.rb:53:in `process!''
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/
fcgi_handler.rb:23:in `process!''
/Users/holger/Projects/oms/public/dispatch.fcgi:24
Web Service Response: => #<XMLRPC::FaultException:
XMLRPC::FaultException>
<?xml version="1.0" ?
><methodResponse><fault><value><struct><member><name>faultCode</
name><value><i4>2</i4></value></member><member><name>faultString</
name><value><string>no such method
''system.multicall'' on API OmsApi</
string></value></member></struct></value></fault></methodResponse>
Sending data
Completed in 0.00648 (154 reqs/sec) | Rendering: 0.00005 (0%) | DB:
0.00000 (0%) | 200 OK [http://localhost/oms/api]
On Aug 17, 2006, at 4:38 PM, Kent Sibilev wrote:
> Can you check log files at the server side? Are there any
> exceptions logged?
>
> On 8/17/06, Holger Biebinger <holger.biebinger@gmx.de> wrote:
>> Thank you very much for your help.
>>
>> irb(main):001:0> require ''xmlrpc/client''
>> => true
>>
>> irb(main):002:0> server =
XMLRPC::Client.new2(''http://localhost:3000/
>> my/api'')
>> => #<XMLRPC::Client:0x59a2e0 @user=nil, @proxy_port=nil,
@auth=nil,
>> @cookie=nil, @create=nil, @port=3000, @http=#<Net::HTTP localhost:
>> 3000 open=false>, @proxy_host=nil, @http_last_response=nil,
>> @parser=nil, @timeout=30, @path="/my/api", @password=nil,
>> @http_header_extra=nil, @use_ssl=false, @host="localhost">
>>
>> irb(main):004:0> result =
server.multicall([''UniverseGetBuildings'',
>> ''de'',
''666''],[''UniverseGetDefense'',
''de'', ''666''])
>> XMLRPC::FaultException: XMLRPC::FaultException
>> from /usr/local/lib/ruby/1.8/xmlrpc/client.rb:447:in
>> `multicall''
>> from (irb):4
>>
>> irb(main):005:0> result2 =
server.multicall2([''Function1'', ''param1,
>> ''param2''],[''Function2'',
''param1'', ''param2''])
>> => [false, #<XMLRPC::FaultException: XMLRPC::FaultException>]
>>
>> irb(main):009:0> result2[1].to_h
>> => {"faultCode"=>2,
"faultString"=>"no such method
''system.multicall''
>> on API MyApi"}
>>
>>
>>
>> On Aug 17, 2006, at 12:23 AM, Kent Sibilev wrote:
>>
>> > multicall should be enabled by default. Show me how you call it,
>> > please.
>> >
>> > On 8/16/06, Holger Biebinger <holger.biebinger@gmx.de>
wrote:
>> >> Hi all,
>> >> I have a question concerning ActionWebService XMLRPC servers:
>> Is it
>> >> possible to send multicall requests to the Web service? I
tried to
>> >> use multicall and get the error message:
>> >> no such method ''system.multicall'' on API
[MyAPI]
>> >>
>> >> In Changeset 2021 there is the following commit message:
>> >> add ''system.multicall'' support to XML-RPC.
boxcarred methods must
>> >> still exist
>> >> on the target service(s), value casting will still be
>> performed, and
>> >> recursive
>> >> ''system.multicall'' calls are not allowed.
>> >>
>> >> Any hints what I can do to enable multicalls in my Rails
>> application?
>> >>
>> >> best regards,
>> >> Holger
>> >> _______________________________________________
>> >> Rails mailing list
>> >> Rails@lists.rubyonrails.org
>> >> http://lists.rubyonrails.org/mailman/listinfo/rails
>> >>
>> >
>> >
>> > --
>> > Kent
>> > ---
>> > http://www.datanoise.com
>> > _______________________________________________
>> > Rails mailing list
>> > Rails@lists.rubyonrails.org
>> > http://lists.rubyonrails.org/mailman/listinfo/rails
>> >
>>
>> _______________________________________________
>> Rails mailing list
>> Rails@lists.rubyonrails.org
>> http://lists.rubyonrails.org/mailman/listinfo/rails
>>
>
>
> --
> Kent
> ---
> http://www.datanoise.com
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
Kent Sibilev
2006-Aug-17 17:08 UTC
[Rails] ActionWebService: XMLRPC Server Multicall possible?
On 8/17/06, Holger Biebinger <holger.biebinger@gmx.de> wrote:> An excerpt from my development.log the server.log file is empty in > my application''s log dir I hope tha helps. Or do you mean an other > log file? >Hm, strange. How do you register your api with a controller? What web_service_dispatching_mode are you using? -- Kent --- http://www.datanoise.com
Holger Biebinger
2006-Aug-18 10:51 UTC
[Rails] ActionWebService: XMLRPC Server Multicall possible?
In my app/apis/ directory I have got a file called oms_api.rb where the api is defined. web_service_dispatching_mode is default ( I did not change it). So I think direct dispatching is used. All functions who should be usable by oms webservice are listed in the api file. In app/controllers/oms_controller.rb all the functions of the web service are defined. I have wsdl_service_name ''Oms'' web_service_api OmsApi in my oms_controller. Do I have to specify the system.multicall function in my oms api? Holger On Aug 17, 2006, at 7:08 PM, Kent Sibilev wrote:> On 8/17/06, Holger Biebinger <holger.biebinger@gmx.de> wrote: >> An excerpt from my development.log the server.log file is empty in >> my application''s log dir I hope tha helps. Or do you mean an other >> log file? >> > Hm, strange. How do you register your api with a controller? What > web_service_dispatching_mode are you using? > > -- > Kent > --- > http://www.datanoise.com > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060818/30f11b9e/attachment.html
Kent Sibilev
2006-Nov-04 02:45 UTC
[Rails] ActionWebService: XMLRPC Server Multicall possible?
On 8/18/06, Holger Biebinger <holger.biebinger@gmx.de> wrote:> > In my app/apis/ directory I have got a file called oms_api.rb where the api > is defined. > web_service_dispatching_mode is default ( I did not change it). So I think > direct dispatching is used. > All functions who should be usable by oms webservice are listed in the api > file. > In app/controllers/oms_controller.rb all the functions of > the web service are defined. > > I have > wsdl_service_name ''Oms'' > web_service_api OmsApi > in my oms_controller. > > Do I have to specify the system.multicall function in my oms api? >No, you don''t. Have you tried to call UniverseGetDefense method alone without multicall? -- Kent --- http://www.datanoise.com