我使用SNMP4J在OID上执行SNMPv3 Walk,但是我收到以下错误,
java.lang.NullPointerException:上下文引擎ID不能为null
我能够从SNMPv1成功获得响应,只有v3才会出现此错误。对此有任何帮助表示高度赞赏
SNMP4J版本:2.5.3
答案 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)