From: Dean Holdren Date: 2006-01-27T06:22:40+09:00 Subject: Re: Error calling a SOAP service from within a Rails controller thanks, I've tried using ActionWebService::Client::SOAP, but I get the same error (pretty much), here's the version of the method within my Controller that used ActionWebService: def get_weather lat = params[:lat] lon = params[:lon] t = Time.now starter = Time.local(t.year,t.mon, t.day) + (24 *3600) ender = starter + 7 * 24 *3600 params = WeatherParametersType.new({:maxt => false, :mint => false, :temp => true, :dew => false, :pop12 => false, :qpf => false, :sky => false, :snow => false, :wspd => false, :wdir => false, :wx => false, :waveh => false, :icons => false, :rh => false, :appt => true}) soap_client = ActionWebService::Client::Soap.new(WeatherAPI, "http://www.weather.gov/forecasts/xml/SOAP_server/ndfdXMLserver.php") @dwml = soap_client.NDFDgen(lat, lon, 'time-series', starter, ender, params) @data = @dwml end and I'm using these classes I've defined: class WeatherParametersType < ActionWebService::Struct member :maxt, :boolean member :mint, :boolean member :temp, :boolean member :dew, :boolean member :pop12, :boolean member :qpf, :boolean member :sky, :boolean member :snow, :boolean member :wspd, :boolean member :wdir, :boolean member :wx, :boolean member :waveh, :boolean member :icons, :boolean member :rh, :boolean member :appt, :boolean end class WeatherAPI < ActionWebService::API::Base api_method :NDFDgen, :expects => [[Float], [Float], [String], [Time], [Time], [WeatherParametersType]], :returns => [String] end The error stack trace: SOAP::HTTPStreamError (502: Bad Gateway): c:/ruby-1.8.4/lib/ruby/1.8/soap/streamHandler.rb:200:in `send_post' c:/ruby-1.8.4/lib/ruby/1.8/soap/streamHandler.rb:109:in `send' c:/ruby-1.8.4/lib/ruby/1.8/soap/rpc/proxy.rb:170:in `route' c:/ruby-1.8.4/lib/ruby/1.8/soap/rpc/proxy.rb:141:in `call' c:/ruby-1.8.4/lib/ruby/1.8/soap/rpc/driver.rb:178:in `call' c:/ruby-1.8.4/lib/ruby/1.8/soap/rpc/driver.rb:232:in `NDFDgen' c:/ruby-1.8.4/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0/lib/action_web_s ervice/client/soap_client.rb:61:in `perform_invocation' c:/ruby-1.8.4/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0/lib/action_web_s ervice/client/base.rb:15:in `method_missing' On 1/26/06, Anthony Elizondo wrote: > When you're playing with SOAP in Rails, I think you want to use > ActionWebService. See: > http://rails.rubyonrails.com/classes/ActionWebService/Client/Soap.html > > For Rails specific questions such as this, try the Rails mailing list, > at http://lists.rubyonrails.org/mailman/listinfo/rails or > http://www.ruby-forum.com/forum/3 >