2011-02-01 259 views
1

我正在尝试使用SNMP4J来执行SNMP bulkget。当我使用SNMP4J进行调用时,我返回一个responseEvent错误,指出“General Variable Binding error”,返回的数据等于Null。SNMP4J通用变量绑定错误

调试: 我向控制台输出我在SNMP4J中使用的确切OID和版本号。然后我使用打印出来的数据在命令行上进行snmpwalk。 但我得到有效的结果。所以我知道我发送SNMP4J正确的pdu与正确的OID,版本号,最大repititions等

我已经使用SNMP4J和这段代码我写了succesffuly监测其他设备多年。所以我不知道这次有什么不同。所以这让我难倒了。为什么我会回到“一般变量绑定错误?”什么导致了这个错误?想法调试?

回答

0

可以转载吗?如果是这样,你的第一个动作应该是使用Wireshark或Microsoft网络监视器来捕获网络数据包。

我的猜测是,突然代理人给你一个GenErr回应,这是不奇怪的东西,

http://www.ietf.org/rfc/rfc1157.txt

+0

当进行某个OID调用时,它会被一致地再现。始终在命令行上工作。总是在SNMP4J中产生错误。 – Brent 2011-02-02 14:11:18

0

我也有类似的令人费解的错误与京信通信中继SNMP代理。如果我使用多个变量绑定进行SNMP Get(针对表中的特定MIB值),它将返回一个通用变量绑定错误。但是,如果我使用单个变量绑定来执行SNMP Get(针对表中特定的MIB值),它会按预期做出响应。

我已经在其他设备(如Corning,SOLiD)上使用多个变量绑定完成了SNMP Get(针对表中的特定MIB值),并且它工作得非常好。

因此,它与您正在使用的设备上的SNMP代理实施有关。