RE: Problem with Mongrel, Rails and web services using xmlrp


#1

-----Original Message-----
From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Zed S.
Sent: Friday, April 21, 2006 12:23 PM
To: removed_email_address@domain.invalid
Subject: Re: [Rails] Problem with Mongrel, Rails and web
services using xmlrpc

Are you inside a Rails controller/action and then trying to
connect back to the same Rails application via xmlrpc?
Mongrel has to lock Rails to keep it sane, so if you’re
inside a Rails app, and then connect back to the same app via
HTTP you’ll get a dead-lock.

Nope. This is just an external script I use as a sanity check.

Also, can you run your setup with “mongrel_rails start -B”
and see what headers are being dumped in the
log/mongrel_debug/rails.log?

Running that sample script doesn’t appear to generate anything
in the rails.log file. Odd.

Finally, can you shoot me the other half of the sample or a
simplified xml-rpc rails test case? With that I can run it
through and make sure it always works with Mongrel in the future.

hardware_api.rb under /app/apis

class HardwareApi < ActionWebService::API::Base
api_method :find_hardware_by_id,
:expects => [:int],
:returns => [Hardware]
end

hardware_service.rb under /app/apis

class HardwareService < ActionWebService::Base
web_service_api HardwareApi

Returns a Hardware object by id.

def find_hardware_by_id(id)
Hardware.find(id)
end
end

hardware.rb under /app/model

class Hardware < ActiveRecord::Base
set_table_name “hardware”
has_many :schedules
end

The HardwareController is pretty straightforward, as is the
hardware table.

Is there anything I’ve missed that you need?

Thanks,

Dan


#2

On 4/21/06 3:08 PM, “Berger, Daniel” removed_email_address@domain.invalid wrote:

-----Original Message-----
snip

Also, can you run your setup with “mongrel_rails start -B”
and see what headers are being dumped in the
log/mongrel_debug/rails.log?

Running that sample script doesn’t appear to generate anything
in the rails.log file. Odd.

Seriously? No way. Either the request is getting blocked as bad HTTP
or
something else is up because the rails.log is written long before rails
is
even touched. If you’re not seeing anything there then the request
isn’t
event going to the right place.

Finally, can you shoot me the other half of the sample or a
simplified xml-rpc rails test case? With that I can run it
through and make sure it always works with Mongrel in the future.

snip

Is there anything I’ve missed that you need?

Nope, that should do it. I’ll test it out late tonight and see what’s
up.

Zed A. Shaw


http://mongrel.rubyforge.org/