SNMP4J:SNMP Walk提供java.lang.NullPointerException:上下文引擎ID不能为空

时间:2017-10-24 11:59:12

标签: java snmp4j

我使用SNMP4J在OID上执行SNMPv3 Walk,但是我收到以下错误,

java.lang.NullPointerException:上下文引擎ID不能为null

我能够从SNMPv1成功获得响应,只有v3才会出现此错误。对此有任何帮助表示高度赞赏

SNMP4J版本:2.5.3

1 个答案:

答案 0 :(得分:0)

我能够在不使用ContextEngineID或ContextName的情况下使其工作。

我在没有指定PDUType的情况下创建DefaultPDUFactory,默认构造函数使用PDU.GET作为PDUType。在阅读提到的#Tree; TreeUtils.getSubtree注释时,同步获取指定目标的GETNEXT(SNMPv1)或GETBULK(SNMP2c,SNMPv3)操作的子树。"我意识到我必须将PDUType设置为GETBULK。

我能够成功地走一走' Walk'在创建DefaultPDUFactory对象时将PDUType设置为GETBULK后使用SNMPv3。

DefaultPDUFactory defaultPDUFactory = new DefaultPDUFactory(PDU.GETBULK); 
TreeUtils treeUtils = new TreeUtils(snmp, defaultPDUFactory); 
events = treeUtils.getSubtree(getV3Target(), oid)