Thursday, May 8, 2014

Profile Attributes Processing - Map Key

I have a customer who asked me whether the same Map Key can be mapped to multiple Corresponding Map Value. This is regarding Profile Attribute Processing for Policy Agent configuration.




He wants to map UID from data source to USERNAME and EMPLOYMENTID. This is part of his application team's requirement during Policy Agent integration.




I tested in our test environment. Not possible.






The OpenAM debug log will throw the following stack trace:

ERROR: AgentsRepo.setAttributes(): Unable to set agent attributes
Message:Data validation failed for the attribute, com.sun.identity.agents.config.profile.attribute.mapping

at com.sun.identity.sm.ServiceSchemaImpl.throwInvalidAttributeValuesException(ServiceSchemaImpl.java:647)
at com.sun.identity.sm.ServiceSchemaImpl.validatePlugin(ServiceSchemaImpl.java:628)
at com.sun.identity.sm.ServiceSchemaImpl.serverEndAttrValidation(ServiceSchemaImpl.java:599)
at com.sun.identity.sm.ServiceSchemaImpl.validatePlugin(ServiceSchemaImpl.java:557)
at com.sun.identity.sm.ServiceSchemaImpl.validateAttrValues(ServiceSchemaImpl.java:512)
at com.sun.identity.sm.ServiceSchemaImpl.validateAttributes(ServiceSchemaImpl.java:289)
at com.sun.identity.sm.ServiceConfig.setAttributes(ServiceConfig.java:536)
at com.sun.identity.idm.plugins.internal.AgentsRepo.setAttributes(AgentsRepo.java:1049)
at com.sun.identity.idm.server.IdServicesImpl.setAttributes(IdServicesImpl.java:1701)
at com.sun.identity.idm.server.IdCachedServicesImpl.setAttributes(IdCachedServicesImpl.java:528)
at com.sun.identity.idm.AMIdentity.store(AMIdentity.java:589)
at com.sun.identity.console.agentconfig.model.AgentsModelImpl.setAttributeValues(AgentsModelImpl.java:790)

:
:
amIdm:05/07/2014 05:08:17:912 PM SGT: Thread[ajp-apr-192.168.0.88-8009-exec-4000,5,main]
WARNING: IdServicesImpl.setAttributes: Unable to modify identity in the following repository com.sun.identity.idm.plugins.internal.AgentsRepo :: Plug-in com.sun.identity.idm.plugins.internal.AgentsRepo: Error while setting attributes for agentonly=iticket
amIdm:05/07/2014 05:08:17:912 PM SGT: Thread[ajp-apr-192.168.0.88-8009-exec-4000,5,main]
WARNING: IdServicesImpl.setAttributes: Unable to set attributes  for identity agentonly::iticket in any configured data store
Message:Plug-in com.sun.identity.idm.plugins.internal.AgentsRepo: Error while setting attributes for agentonly=iticket

at com.sun.identity.idm.plugins.internal.AgentsRepo.setAttributes(AgentsRepo.java:1060)
at com.sun.identity.idm.server.IdServicesImpl.setAttributes(IdServicesImpl.java:1701)
at com.sun.identity.idm.server.IdCachedServicesImpl.setAttributes(IdCachedServicesImpl.java:528)
at com.sun.identity.idm.AMIdentity.store(AMIdentity.java:589)
at com.sun.identity.console.agentconfig.model.AgentsModelImpl.setAttributeValues(AgentsModelImpl.java:790)
at com.sun.identity.console.agentconfig.AgentProfileViewBean.handleButton1Request(AgentProfileViewBean.java:395)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)



I checked the attribute in the embedded configuration store (OpenDJ). It should be able to handle same Map Key be mapped to multiple Corresponding Map Value scenario.


There is no error found in OpenDJ access log as well.

So this must be a feature. I suppose. 


.



No comments:

Post a Comment