2012-02-08 13 views
0

このコマンドを使用して、xmlファイルをSRA-ENAという名前のWebサービスに送信しました。これを受けてサードパーティWebサービスによる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形式でWebサーバから

を領収書を受け取るいくつかのいずれかは、どのように私はさらにに鋸山使用できるように、変数にこのXMLを保存するために私を導くことができてください。 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エラーが発生します。縁石の結果を発見/検査する方法はありますか? – A1aks

+0

残念ながら、415という応答は、サーバーがあなたが与えたデータが気に入らなかったことを意味します。特定のWebサービスを読んだり、そのWebサービスを実行している人に連絡を取ったりすることなく、なぜそのことを知ることはできません。 –

+0

親愛なるDonさん、これを参照してください。http://stackoverflow.com/questions/9227028/retrieving-xml-from-third-part-web-service コーディングで正しい軌道にいるかどうかをご確認ください – A1aks

関連する問題