搜索savon响应为nokogiri文档返回一个空数组

我尝试将savon的回复解析为nokokiri文件

c = Savon.client(wsdl: 'http://test.fedresurs.ru/MessageService/WebService.svc?wsdl', digest_auth: ['demowebuser', 'Ax!761BN'], namespace: "http://tempuri.org/", namespace_identifier: :tem, log: true) r = c.call(:get_trade_messages, message: {'tem:startFrom' => DateTime.now-1}) r.doc.search("TradePlace") 

它返回一个空数组。

我做错了什么? 可能我应该以某种方式处理命名空间? 但是,怎么样? 我在nokogiri文档中找到的示例使用Xpath,而不是搜索。 即使使用Xpath,它也会返回一个空数组。

XML响应:

                   

您可以使用Nokogiri来分解XML响应。 一个(现在是nofunctional)示例是这样的:

 doc = Nokogiri::XML(response.to_hash[:get_quote_response][:get_quote_result]) print doc.to_xml(indent: 2) print "Date : ", doc.at_css("Date").text, "\n" print "Last price: ", doc.at_css("Last").text 

在我的pastebin https://pastebin.com/W0RUuaHU中有更完整的示例。 很遗憾,WebserviceX已停产。

正如我所料,答案是在命名空间中,下面的代码工作正常:

 r.doc.search("a|TradePlace", {"a" => "http://tempuri.org/"})