билдер xml для encoding.com

0 views
Skip to first unread message

mikhailov

unread,
Nov 24, 2009, 5:59:30 AM11/24/09
to RubyOnRails to russian
есть еще примеры реализации, кроме http://www.ruby-forum.com/topic/178199?

Maxim Kulkin

unread,
Nov 24, 2009, 7:13:02 AM11/24/09
to ror...@googlegroups.com
24 ноября 2009 г. 13:59 пользователь mikhailov
<mikhailo...@gmail.com> написал:

> есть еще примеры реализации, кроме http://www.ruby-forum.com/topic/178199?

Вам для коллекции или сгенерить маленькую xml'ку руками влом ?

xml = ::Builder::XmlMarkup.new :indent => 2
xml.instruct!
xml.query do
xml.userid 'foo'
xml.userkey 'bar'
...
xml.format do
xml.output output_url
...
end
end

xml_content = xml.target!

Или может дело в посылке HTTP POST запроса ?

mikhailov

unread,
Nov 24, 2009, 8:42:11 AM11/24/09
to RubyOnRails to russian
дело в том, после отправки post запроса возвращает ошибку

url = URI.parse(manage.encoding.com:80)
Net::HTTP.start(url.host, url.port) do |http|
response = http.post(url.path, "xml=#{xml.target!}")
end

On Nov 24, 6:13 pm, Maxim Kulkin <maxim.kul...@gmail.com> wrote:
> 24 ноября 2009 г. 13:59 пользователь mikhailov

> <mikhailov.anat...@gmail.com> написал:
>
> > есть еще примеры реализации, кромеhttp://www.ruby-forum.com/topic/178199?

mikhailov

unread,
Nov 24, 2009, 8:44:04 AM11/24/09
to RubyOnRails to russian
NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.empty?

на строке response=...

mikhailov

unread,
Nov 24, 2009, 8:57:06 AM11/24/09
to RubyOnRails to russian
в первй ссылке упомянут валидный запрос
http = Net::HTTP.new(@url)
response = http.post(@url, "xml=#{xml}")

кроме совета как юзать билдер, который я и без того использую, ответов
пока нет.
поэтому просьба написать в этот тред тех, у кого есть опыт работы с
encoding.com

Maxim Kulkin

unread,
Nov 24, 2009, 10:41:35 AM11/24/09
to ror...@googlegroups.com
Слушайте, ну что Вы гадаете на кофейной гуще. Берите и посылайте
запрос руками (telnet, nc, curl, ...) и смотрите, что посылается туда
и отдает в ответ.

Плюс, я бы посылал данные посредством специализированных функций,
которые правильно все заенкодят:

url = URI.parse("...")
request = Net::HTTP::Post.new(url.path)
request.form_data = { :xml => xml }
response = Net::HTTP.new(url.host, url.port).start { |http|
http.request(request) }


24 ноября 2009 г. 16:57 пользователь mikhailov
<mikhailo...@gmail.com> написал:

Reply all
Reply to author
Forward
0 new messages