Error saving user changes with amclientsdk 6.3

We have an application that was originally developed for the JES2 stack that handles creation and maintenance of users for our portal environment. We are running Access Manager 7.1 in Legacy Mode and per suggestions from people on this forum we are using the AMClientSDK 6.3 code.

The main change that we had to make to the code to get it running was to replace the createSSOToken(userID, password) method of getting our connections with the AuthContext methodology. This has been completed without any problems. However, we are now having the following problem when trying to create users.

As a bit of background, the application first creates the user entry with just the userID and name information that is required by the directory. Once that is complete it goes back in and does an update on that user with the rest of their registration information.

public boolean save() throws EGatewayException {

try {

logger.debug("User entry has changed is: " + dirty);

if (dirty) {

logger.debug("We need to store the updates for the user...preparing to call store()...");

_amUser.store();

logger.debug("Back from storing user changes...set dirty flag to false.");

dirty = false;

if (logger.isDebugEnabled()) {

logger.debug("User " + _amUser.getDN() + " saved.");

}

return true;

} else {

logger.debug("Dirty flag is " + dirty + "but we'll store anyways...");

_amUser.store();

// Not sufficient time to test removing this line!

logger.debug("No values actually changed. Saving anyway.");

return false;

}

} catch (Exception e) {

if (e instanceof AMException) {

String code = ((AMException) e).getErrorCode();

logger.debug("AMException error code is: " + ((AMException) e).getErrorCode());

if (code.equals("452")) {

logger.debug("Error 452. Must be a password problem");

throw new EGatewayPasswordException(

logger,

"Error 452. Must be a password problem",

e);

}

}

throw new EGatewayException(

logger,

"Error saving user " + getDn(),

e);

}

}

When the update occurs we see the following error in the logs.

[6/28/07 12:13:13:001 EDT] 00000041 SystemOutO 2007-06-28 12:13:13,001 com.bcbsm.common.egateway.DirectoryConnection AMException error code is: 1000

[6/28/07 12:13:13:041 EDT] 00000041 SystemOutO 2007-06-28 12:13:13,032 com.bcbsm.common.egateway.DirectoryConnection Error saving user uid=joanof2,ou=People,o=Members,dc=bcbsm,dc=com: New Generic Exception

com.iplanet.am.sdk.AMException: New Generic Exception

at com.iplanet.am.sdk.remote.DirectoryManager.setAttributes(DirectoryManager.java: 1063)

at com.iplanet.am.sdk.AMDirectoryManager.setAttributes(AMDirectoryManager.java:601 )

at com.iplanet.am.sdk.AMCacheManager.setAttributes(AMCacheManager.java:868)

at com.iplanet.am.sdk.AMObjectImpl.store(AMObjectImpl.java:1737)

at com.iplanet.am.sdk.AMObjectImpl.store(AMObjectImpl.java:1677)

at com.bcbsm.common.egateway.DirectoryConnection$User.save(DirectoryConnection.jav a:1481)

at com.bcbsm.egateway.data.MemberConnection.updateMember(MemberConnection.java:267 )

at com.bcbsm.egateway.data.MemberConnection.createMember(MemberConnection.java:99)

at com.bcbsm.egateway.data.ActualDirectory.createMember(ActualDirectory.java:108)

at com.bcbsm.egateway.struts.AccountCreationAction.createAccount(AccountCreationAc tion.java:168)

at com.bcbsm.egateway.struts.AccountCreationAction.doExecute(AccountCreationAction .java:85)

at com.bcbsm.egateway.struts.BaseAction.execute(BaseAction.java:112)

Any insight or assistance is appreciated.

Thank you.

[3789 byte] By [rlabarre07a] at [2007-11-27 9:09:41]
# 1
Is the agent app user id in the AMConfig.properties amadmin or a user who belongs to the top level admin role?
Aaron_Andersona at 2007-7-12 21:50:06 > top of Java-index,Web & Directory Servers,Directory Servers...