Jerome, Your index value is a lot too long, I guess. The index value apparently is not a row index at all.
Best regards, Frank Jerome Jabson wrote: > Hi Frank, > > Thanks for the response. > > Sorry I'm still having some trouble creating this row. Here is the response I > get: > > RESPONSE[requestID=928478646, errorStatus=Unable to create object(11), > errorIndex=1, VBS > [1.3.6.1.4.1.9.9.42.1.2.1.1.9.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = 4; <==== This > is the rowStatus - I noticed it's set to 4 (CreateAndGo) this is > automatically set > 1.3.6.1.4.1.9.9.42.1.2.1.1.2.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = Admin; <===== Is > this the Index error as stated by #1?? > 1.3.6.1.4.1.9.9.42.1.2.1.1.3.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = Admin Tag; > 1.3.6.1.4.1.9.9.42.1.2.1.1.4.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = 5; > 1.3.6.1.4.1.9.9.42.1.2.1.1.5.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = 5001; > 1.3.6.1.4.1.9.9.42.1.2.1.1.6.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = 65; > 1.3.6.1.4.1.9.9.42.1.2.1.1.7.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = 5001; > 1.3.6.1.4.1.9.9.42.1.2.1.1.8.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = 2; > 1.3.6.1.4.1.9.9.42.1.2.1.1.10.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = 1; > 1.3.6.1.4.1.9.9.42.1.2.1.1.11.1.3.6.1.4.1.9.9.42.1.2.1.1.1 = Group1]] > > As you indicated I did not set the rowStatus. I'm wondering about the error > above, Is the index automatically set by the createRow API? > > Thanks, > Jerome > > > > ----- Original Message ---- > From: Frank Fock <[email protected]> > To: Jerome Jabson <[email protected]> > Cc: [email protected] > Sent: Wed, October 14, 2009 12:01:56 AM > Subject: Re: [SNMP4J] Tables: createRow > > You should not include the RowStatus column in the value list, > particularly not if you specify a value (here 1) that cannot > be set during row creation. > The agent also returns the error index (the VB index starting > with 1). This indicates which of the VBs caused the error. > > Regards, > Frank > > Jerome Jabson wrote: >> Thanks again Frank. >> >> Last question - I hope! I've change my code to look like the following: >> >> OID rowStatusOid = new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.9"); >> OID indexOid = new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.1"); >> >> VariableBinding[] rowVal = new VariableBinding[]{ >> new VariableBinding(new OID >> ("1.3.6.1.4.1.9.9.42.1.2.1.1.2"), new Integer32(3)), >> new VariableBinding(new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.2"), >> new OctetString("Admin")), >> new VariableBinding(new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.3"), >> new OctetString("Admin Tag")), >> new VariableBinding(new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.4"), >> new Integer32(5)), >> new VariableBinding(new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.5"), >> new Integer32(5001)), >> new VariableBinding(new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.6"), >> new Integer32(65)), >> new VariableBinding(new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.7"), >> new Integer32(5001)), >> new VariableBinding(new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.8"), >> new Integer32(2)), >> new VariableBinding(new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.9"), >> new Integer32(1)), >> new VariableBinding(new >> OID("1.3.6.1.4.1.9.9.42.1.2.1.1.10"), new Integer32(1)), >> new VariableBinding(new >> OID("1.3.6.1.4.1.9.9.42.1.2.1.1.11"), new OctetString("Group1")) >> }; >> >> >> responseEvent = tableUtils.createRow(target, rowStatusOid, indexOid, >> rowVal); >> System.out.println("CreatRow response: " + responseEvent.toString()); >> >> Do I need to set the Index to create the row? In this version of my code it >> did, and I also did it without. The reason I ask is that I keep getting this >> error: >> errorStatus=Unable to create object(11) >> >> I can't see to find what this error means. I was wondering if you could >> possible shed some light on this? >> >> Thanks, >> Jerome >> >> >> >> ----- Original Message ---- >> From: Frank Fock <[email protected]> >> To: Jerome Jabson <[email protected]> >> Cc: [email protected] >> Sent: Tue, October 13, 2009 2:29:57 PM >> Subject: Re: [SNMP4J] Tables: createRow >> >> Jerome, >> >> It is as the error message indicates: Instead >> Variable[] ... >> you need to use >> VariableBinding[]... >> >> Thus, you need to specify the columnar object ID >> for each column with each column value. >> TableUtils will then take care to append the row index >> to each column OID to set its value. >> >> Regards, >> Frank >> >> >> Jerome Jabson wrote: >>> Thanks Frank! I'm still having some problems trying to create a row. I have >>> the code below: >>> >>> OID rowStatusOid = new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.9"); >>> OID indexOid = new OID("1.3.6.1.4.1.9.9.42.1.2.1.1.1"); >>> Variable[] rowValue = new Variable[]{ >>> new OctetString("Admin"), >>> new OctetString("Admin Tag"), >>> new Integer32(5), >>> new Integer32(5001), >>> new Integer32(65), >>> new Integer32(5001), >>> new Integer32(2), >>> new Integer32(1), >>> new Integer32(1), >>> new OctetString("Group1") }; >>> responseEvent = tableUtils.createRow(target, rowStatusOid, >>> indexOid, (VariableBinding[]) rowValue); >>> System.out.println("CreatRow response: " + >>> responseEvent.toString()); >>> >>> When createRow gets called I get the following error: >>> java.lang.ClassCastException: [Lorg.snmp4j.smi.Variable; cannot be cast to >>> [Lorg.snmp4j.smi.VariableBinding; >>> >>> Am I calling this the right way? >>> Thanks again, >>> Jerome >>> >>> >>> >>> >>> ----- Original Message ---- >>> From: Frank Fock <[email protected]> >>> To: Jerome Jabson <[email protected]> >>> Cc: [email protected] >>> Sent: Tue, October 13, 2009 12:14:34 PM >>> Subject: Re: [SNMP4J] Tables: createRow >>> >>> Hello Jerome, >>> >>> All TCs are directly based on SNMP base types (if not >>> the MIB specification is buggy). Use that base type, >>> because on the wire there are no TCs but base types >>> only. >>> >>> Best regards, >>> Frank >>> >>> Jerome Jabson wrote: >>>> Hello, >>>> >>>> I'm new to using SNMP4J. I'm writing a compliance test application, and >>>> wanted to use the SNMP4J APIs. I'm having some difficulties with trying to >>>> create a row, and have searched the forum for some examples. the Java docs >>>> for TableUtils createRow requires an array of VariableBinding values such >>>> as: >>>> >>>> >>>> Variable[] rowValues = new Variable[] { >>>> new Integer32(RowStatus.active), >>>> new Integer32(rowCount), >>>> new OctetString(remotePeer.cisIp), >>>> new OctetString(remotePeer.uid), >>>> new OctetString(remotePeer.admIp), >>>> new Integer32(1), >>>> new Integer32(1), >>>> new Integer32(1), >>>> new Integer32(1), >>>> new OctetString() >>>> }; >>>> >>>> My question is: How can I do this for types that are custom developed? >>>> i.e. We have TC type of RttmonRttType or other types >>>> I can't seem to fined such ass SnmpAdminString, TruthValue, etc... >>>> Is there someplace that shows me how I can accomplish this? >>>> >>>> Thanks in advance, >>>> Jerome >>>> >>>> >>>> _______________________________________________ >>>> SNMP4J mailing list >>>> [email protected] >>>> http://lists.agentpp.org/mailman/listinfo/snmp4j >>> -- AGENT++ >>> http://www.agentpp.com >>> http://www.snmp4j.com >>> http://www.mibexplorer.com >>> http://www.mibdesigner.com >>> >>> >>> >> -- AGENT++ >> http://www.agentpp.com >> http://www.snmp4j.com >> http://www.mibexplorer.com >> http://www.mibdesigner.com >> >> >> > -- AGENT++ http://www.agentpp.com http://www.snmp4j.com http://www.mibexplorer.com http://www.mibdesigner.com _______________________________________________ SNMP4J mailing list [email protected] http://lists.agentpp.org/mailman/listinfo/snmp4j
