Передача атрибута в SOAP-запрос с использованием Savon - PullRequest
1 голос
/ 05 ноября 2010

Я использую простой веб-сервис SOAP, чтобы получить небольшой фрагмент HTML для включения в сайт Rails. К сожалению, я не особо знаком с SOAP.

Мне нужно вызвать метод TopHtml () SOAP для конечной точки ниже, но мне также нужно передать идентификационный номер, например, TopHtml (29).

Я использую гем Savon, и мой код выглядит примерно так:

response = Savon::Client.new('http://www.xxxxxx.xxx/webservices/services.asmx?wsdl').top_html(29)

, который работает, но возвращает ответ по умолчанию, если идентификационный номер не был предоставлен.

Кажется, идентификационный номер не передается. Кто-нибудь знает, как передать параметры в SOAP-запросы Savon?

Большое спасибо, Тристан

Ответы [ 2 ]

1 голос
/ 15 декабря 2010

В интересах времени я сам подготовил XML-запрос, который не идеален (и почти не использует цель использования Savon), но это единственный способ, которым я мог подготовить запрос должным образом. XML был предоставлен разработчиками сервиса.

client = Savon::Client.new 'http://www.xxxxxx.xxx/webservices/services.asmx?wsdl'

response = client.top_html do |soap|
    soap.xml = ...long xml here...
end

Тьфу, но я не собираюсь больше тратить на это время.

1 голос
/ 05 ноября 2010

попробуй

response = Savon::Client.new('http://www.xxxxxx.xxx/webservices/services.asmx').top_html { |soap| soap.body = { :id => 29} }
...