Опитвам се да използвам rails 4.0, за да създам API за уеб услуга, която изисква директна xml публикация до техния защитен сървър.
Имам формуляр, който изпраща `:action => "testSubmit", за да задейства следния код в моя контролер, който съм съставил след часове (предимно остарели) изследвания и отстраняване на грешки.
def testSubmit
xml = Builder::XmlMarkup.new
xml.instruct!
xml.sale do
xml.tag! 'tag-1', "INFO_HERE"
xml.tag! 'tag-2', "MORE_INFO"
xml.amount "100.00"
end
uri = URI('https://secure.abc.com')
Net::HTTP.start(uri.host, uri.port,
:use_ssl => uri.scheme == 'https') do |http|
response = http.post("/api/some/path", xml.to_s)
flash[:notice] = "Sent?"
end
end
Рамката на релсите пренасочва към изгледа testSubmit.html.erb
с присъстващия flash
, така че всичко показва, че може да работи, но ако се опитам да прочета данните за отговора, изглежда, че е празен. Например, ако включа <%= response %>
в моя изглед, виждам:
#<ActionDispatch::Response:0x007fd167ddef60>
но <%= response.body %>
не прави нищо...
Очаквам отговорът да бъде конкретен xml, който проверих с помощта на PHP и Curl, както и добавката за firefox „Poster“