Splunk-client(带有Nokogiri)提供未定义的命名空间前缀

时间:2012-07-17 18:27:13

标签: ruby nokogiri splunk

我正在使用splunk-client从splunk中提取结果。这是代码:

query = "sourcetype=collection #{order_id}"
search = @splunk_client.search(query)
search.wait

搜索发生得很好,似乎我根据示例(https://github.com/cbrito/splunk-client)做了所有事情,但我在'search.wait'上收到此错误行:

Undefined namespace prefix: //s:key[@name='isDone']

任何想法可能会出错?在irb中运行这些命令可以正常工作。是否存在某种阻塞问题?

2 个答案:

答案 0 :(得分:1)

目前在gem本身内发生的错误检查非常少。出错的原因是wait查找要更改为true的isDone键的状态。

由于您的凭据首先未正确设置,因此gem会创建一个具有无效会话的搜索对象。搜索最初没有失败,因为Splunk得到了足够的响应,Nokogiri将其处理成没有Splunk搜索sid的对象。

将来如果没有返回适当的sid以避免混淆,我可能会提出异常。

来源:我写了宝石。

答案 1 :(得分:0)

我发现了问题 - splunk客户端没有正确进行身份验证,因此search实际上是一个损坏的SplunkJob对象(使用nil用户名和身份验证密钥)。奇怪的是,在wait命令之前没有出现错误,但在检查search对象时,其中一个字段表明对象格式错误。

相关问题