Я пытаюсь узнать Ruby/Faraday. Мне нужно отправить POST XML в веб-службу RESTful, и я не понимаю, как это сделать.Как использовать POST XML с помощью Faraday и получать ответ?
У меня есть строка, содержащая XML следующим образом:
require "faraday"
require "faraday_middleware"
mystring = %&<xml><auth><user userid='username' pwd='password'/></auth></xml>&
Как разместить XML на URL и получить результат? Я пытаюсь сделать что-то вроде:
conn = Faraday.new(:url=>'http://url')
conn.post '/logon' {mystring}
Я получаю сообщение:
SyntaxError: (irb):11: syntax error, unexpected '{', expecting $end
conn.post '/logon' {mystring}
Edit 1 Я получил запрос POST на работу. Мой код приведен ниже.
require "faraday"
require "faraday_middleware"
myString = %&<xml><auth><user userid='username' pwd='password'/></auth></xml>&
myUrl = %&url&
conn = Faraday.new(:url => myUrl) do |builder|
builder.response :logger #logging stuff
builder.use Faraday::Adapter::NetHttp #default adapter for Net::HTTP
end
res = conn.post do |request|
request.url myUrl
request.body = myString
end
puts res.body
Как мне получить ответ? Я все еще ищу какую-то «хорошую» документацию. Любые ссылки? –
Ответ должен быть возвращен из вызова conn.post. См. Это: http://mislav.uniqpath.com/2011/07/faraday-advanced-http/ – wiebersk