D
Dean Holdren
The following works fine as a standalone ruby program:
***************************************************************************=
*******************
t =3D Time.now
starter =3D Time.local(t.year,t.mon, t.day) + (24 *3600)
ender =3D starter + 7 * 24 *3600
lat =3D 40.352039
lon =3D -74.191961
require 'soap/wsdlDriver'
params =3D {:maxt =3D> false, :mint =3D> false, :temp =3D> true, :dew =3D> =
false,
op12 =3D> false, :qpf =3D> false, :sky =3D> false, :snow =3D> false,
:wspd =3D> false, :wdir =3D> false, :wx =3D> false, :waveh =3D> false,
:icons =3D> false, :rh =3D> false, :appt =3D> true}
wsdl =3D "http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl"
drv =3D SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
drv.wiredump_dev =3D STDOUT if $DEBUG
dwml =3D drv.NDFDgen(lat, lon, 'time-series', starter, ender, params)
puts dwml
require 'xsd/mapping'
data =3D XSD::Mapping.xml2obj(dwml).data
***************************************************************************=
*******************
However, when I try to call the same from within a ruby controller, I get:
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/1.8/soap/wsdlDriver.rb:117:in `NDFDgen'
The code in my controller is:
***************************************************************************=
*******************
def get_weather
lat =3D params[:lat]
lon =3D params[:lon]
t =3D Time.now
starter =3D Time.local(t.year,t.mon, t.day) + (24 *3600)
ender =3D starter + 7 * 24 *3600
params =3D {:maxt =3D> false, :mint =3D> false, :temp =3D>
true, :dew =3D> false,
op12 =3D> false, :qpf =3D> false, :sky =3D> false=
,
:snow =3D> false,
:wspd =3D> false, :wdir =3D> false, :wx =3D> false,
:waveh =3D> false,
:icons =3D> false, :rh =3D> false, :appt =3D> true}
wsdl =3D
"http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl"
drv =3D SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
drv.wiredump_dev =3D STDOUT if $DEBUG
dwml =3D drv.NDFDgen(lat, lon, 'time-series', starter,
ender, params)
@data =3D XSD::Mapping.xml2obj(dwml).data
end
***************************************************************************=
*******************
***************************************************************************=
*******************
t =3D Time.now
starter =3D Time.local(t.year,t.mon, t.day) + (24 *3600)
ender =3D starter + 7 * 24 *3600
lat =3D 40.352039
lon =3D -74.191961
require 'soap/wsdlDriver'
params =3D {:maxt =3D> false, :mint =3D> false, :temp =3D> true, :dew =3D> =
false,
op12 =3D> false, :qpf =3D> false, :sky =3D> false, :snow =3D> false,
:wspd =3D> false, :wdir =3D> false, :wx =3D> false, :waveh =3D> false,
:icons =3D> false, :rh =3D> false, :appt =3D> true}
wsdl =3D "http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl"
drv =3D SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
drv.wiredump_dev =3D STDOUT if $DEBUG
dwml =3D drv.NDFDgen(lat, lon, 'time-series', starter, ender, params)
puts dwml
require 'xsd/mapping'
data =3D XSD::Mapping.xml2obj(dwml).data
***************************************************************************=
*******************
However, when I try to call the same from within a ruby controller, I get:
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/1.8/soap/wsdlDriver.rb:117:in `NDFDgen'
The code in my controller is:
***************************************************************************=
*******************
def get_weather
lat =3D params[:lat]
lon =3D params[:lon]
t =3D Time.now
starter =3D Time.local(t.year,t.mon, t.day) + (24 *3600)
ender =3D starter + 7 * 24 *3600
params =3D {:maxt =3D> false, :mint =3D> false, :temp =3D>
true, :dew =3D> false,
op12 =3D> false, :qpf =3D> false, :sky =3D> false=
,
:snow =3D> false,
:wspd =3D> false, :wdir =3D> false, :wx =3D> false,
:waveh =3D> false,
:icons =3D> false, :rh =3D> false, :appt =3D> true}
wsdl =3D
"http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl"
drv =3D SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
drv.wiredump_dev =3D STDOUT if $DEBUG
dwml =3D drv.NDFDgen(lat, lon, 'time-series', starter,
ender, params)
@data =3D XSD::Mapping.xml2obj(dwml).data
end
***************************************************************************=
*******************