I am moving http://compliancestudio.com/sample to ruby. The workflow is: 
(1) user vists page, 
(2) clicks calc 
(3) calc calls a local web service to pass on to the 
  main remote webservice and get back the payment 
  stream and calculation results, 
(4) result is passed back to xhr and rendered in the 
page using innerhtml and SVG

I need to change (3) / (4) in Rails.



Code for soap4r:

require 'soap/wsdlDriver'
require 'xsd/xmlparser/rexmlparser'

factory = SOAP::WSDLDriverFactory.new("http://compliancestudio.com/beginningXML/service.asmx?WSDL")
compliance_studio_service = factory.create_rpc_driver
compliance_studio_service.return_response_as_xml = true
response = compliance_studio_service.CalculateApr( \
  :PaymentRequestType => "Long", \
  :Program => "Fixed", \
  :TotalAPRFeesAmount => 3988, \
  :FundingDayRequest => false, \
  :FullyIndexedRate => false, \
  :IndexValue => 0, \
  :MarginValue => 0, \
  :OriginalLoanAmount => 250000, \
  :DisclosedTotalSalesPriceAmount => 0, \
  :PropertyAppraisedValueAmount => 300000, \
  :NoteRatePercent => 0.08, \
  :LoanOriginalMaturityTermMonths => 360, \
  :ApplicationSignedDate => DateTime.parse("2006-11-15"), \
  :LoanEstimatedClosingDate => DateTime.parse("2006-11-15"), \
  :ScheduledFirstPaymentDate => DateTime.parse("2006-11-15"), \
  :EstimatedPrepaidDays => 15)

...  
compliance_studio_service.reset_stream