簡體   English   中英

Ruby + Net :: HTTP:如何在一個POST請求中發送兩個XML文檔?

[英]Ruby + Net::HTTP: How do I send two XML documents in one POST request?

我必須在請求中向UPS API發送兩個XML文檔(這是我的原始問題,該XML文檔的根源是什么?

我該怎么做?

def make_initial_request
  uri = URI.parse(UPS_API['confirm_url'])
  https = Net::HTTP.new(uri.host, uri.port)
  https.use_ssl = true       

  headers = {'Content-Type' => 'text/xml'}
  request = Net::HTTP::Post.new(uri.path, headers)
  request.body = xml_for_initial_request #<-- how do i split this into two documents?
  #request.body = second_xml_document #<-- i want something like that. could i just use << ?
  begin
    response = https.request(request)
  rescue
    return nil
  end
  puts "response: #{response.code} #{response.message}: #{response.body}"
  return nil if response.body.include?("Error")
end

如果API支持它們,則應使用MIME Multipart消息( ruby gem )。 否則,只需嘗試串聯文件的內容request.body = "#{xml_for_initial_request}\\n#{second_xml_document}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM