2012-02-08 3 views
0

Я использовал эту команду для отправки xml-файлов в веб-службу с именем SRA-ENA.Соберите ответ xml сторонним веб-сервисом

submission_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.submission.xml"), 'SUBMISSION') 
     study_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.study.xml"), 'STUDY') 
     sample_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.sample.xml"), 'SAMPLE') 
     run_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.run.xml"), 'RUN') 
     experiment_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.experiment.xml"), 'EXPERIMENT') 
     # Send these requests to the test-SRA website 
     request_test = Curl::Easy.http_post("https://www-test.ebi.ac.uk/ena/submit/drop-box/submit/?auth=ERA%20era-drop-81%20dxjf2dntWDr4CHg28qERORnv0RQ%3D", submission_field, study_field, sample_field, run_field, experiment_field) 

В ответ на это, я получаю квитанцию ​​от веб-сервера в формате XML,

Пожалуйста, может кто-то наставит меня, как сохранить этот XML в переменной, так что я могу использовать nokogiri для дальнейшего проанализируйте XML-файл.

ответ

0

Вот отдельный пример, используя Rails 2.3.14, который показывает, как использовать nokogiri для анализа результатов XML.

require 'nokogiri' 
require 'curb' 

# I have included this part so that this serves as a standalone example 

ce = Curl::Easy.new("http://www.myexperiment.org/announcements.xml") 
ce.perform 

# This is the part that deals with parsing the XML result using nokogiri 

doc = Nokogiri::XML::Document.parse(ce.body_str) 

doc.xpath("/announcements/announcement").each do |announcement| 
    puts announcement.content 
end 
+0

Дон, Пожалуйста, не могли бы вы сказать мне, как вы знаете, является ли данные, передаваемые через бордюр право один. Я выполнил ваш метод выше, и я получил HTTP 415 Error. Есть ли способ поиска/тестирования результатов Curb. – A1aks

+0

К сожалению, ответ 415 означает, что серверу не понравились данные, которые вы ему дали. Невозможно понять, почему, не просматривая конкретную веб-службу или не связываясь с людьми, которые ее запускают. –

+0

Дорогой Дон, пожалуйста, не могли бы вы ссылаться на этот http://stackoverflow.com/questions/9227028/retrieving-xml-from-third-part-web-service и предложить, если я нахожусь на правильном пути в кодировке – A1aks

 Смежные вопросы

  • Нет связанных вопросов^_^