How to solve CWWIM4520E on Portal 6.1

You may have seen this error if you tried the steps in “Configuring WCM email actions with a local SMTP server”.

When you edit the user’s properties this nasty error can appear if your Portal server is connected to an LDAP.

Error entering mail address into Self Care Portlet

Error entering mail address into Self Care Portlet

Btw, this is a 6.1 or Portal.Next beta specific error, it should work fine on 6.0.

Here’s the full text of the error:

com.ibm.wps.util.DataBackendException: EJPSG0015E: Data Backend Problem
com.ibm.websphere.wim.exception.WIMSystemException:
CWWIM4520E The 'javax.naming.directory.SchemaViolationException:
[LDAP: error code 65 - Object Class Violation];
remaining name 'uid=xyzadmin,ou=People,dc=test';
resolved object com.sun.jndi.ldap.LdapCtx@65aa65aa'
naming exception occurred during processing.

The reason this happens is that the portlet ( the self care portlet in this case)  is wired up to write the email address you entered in the form to a VMM attribute called ibm-primaryEmail . If your ldap schema doesn’t have a user attribute in it called ibm-primaryEmail , then you’re going to get an error when you try and write something to it.

Just to check it out, let’s look at the LDAP schema on this server (which is IBM Tivoli Directory Server 6.0)  . I’m using the awesome and free Apache Directory Studio to investigate the LDAP schema here.  Once the connection to the ldap is defined, go LDAP -> Open Schema Browser , and select the tab attribute types.

TDS ldap schema

TDS ldap schema

Ok, so we have an attribute type ‘drink, favouriteDrink’ ;o) , but no ibm-primaryEmail . No matter, there is a ‘mail’ attribute there. We can make Portal use that to save email related attributes.

Open up wkplc.properties and find the section entitled LDAP Attribute Configuration (it’s near the bottom) . Here’s my completed one:

# Use the following  properties to add an attribute mapping between the
# Portal attribute name and the ldap attribute name

# the name of the attribute in LDAP
standalone.ldap.attributes.mapping.ldapName=mail

# the name of the attribute in portal
standalone.ldap.attributes.mapping.portalName=ibm-primaryEmail

# list of entityTypes the mapping should be applied to
standalone.ldap.attributes.mapping.entityTypes=PersonAccount

Cool, now run the task :

ConfigEngine.sh wp-update-standalone-ldap-attribute-config

If you are using a federated ldap setup, edit the corresponding federated properties instead, and then run the following task:

ConfigEngine.sh wp-update-federated-ldap-attribute-config

. Restart the server and try the form again. It should correctly save the email attribute for the user and you can get on with sending email through Portal. Just for kicks, lets look at what that task did. It just edits the wimconfig file, which defines how VMM interacts . Open wimconfig.xml (wp_profile/config/cells/<cellname>/wim/config/wimconfig.xml) and search for ibm-primaryEmail.

Here is the part that does the mapping:

<config:attributes name="mail" propertyName="ibm-primaryEmail">
<config:entityTypes>PersonAccount</config:entityTypes>
</config:attributes>

So the task is really just a (welcome) convenience, all it does it edit the xml file for you. Anyone who has tried to set up multirealms on 6.0 would be grateful for that!

This entry was posted in howto and tagged , , , . Bookmark the permalink.

5 Responses to How to solve CWWIM4520E on Portal 6.1

  1. Dave Hay says:

    Great post, I’ve been seeing a similar exception when configuring Portal Connections integration, so your blog post was a good aide memoire.

    🙂

  2. Bogdan Bogos says:

    Hey, thanks for the tip!! Just wanted to let you know this problem is present in Websphere Portal V7.0 also when you integrate it with MS AD. Solved it thanks to you !

  3. Vigneshwaran says:

    Thank you

  4. Raju says:

    Hi Team,

    We are using the Database(DB2) as user repository and configured.

    We have added few required VMM attributes successfully using wp-add-property config command.We are able to the added attributes by querying the VMM DB using wp-query-attribute-config command.

    But when ever we are trying to modify/edit the attribute we are facing the issues with below exceptions.

    EJPSG0015E: Data Backend Problem com.ibm.websphere.wim.exception.WIMException
    com.ibm.wps.util.DataBackendException: EJPSG0015E: Data Backend Problem com.ibm.websphere.wim.exception.WIMException
    EJPSG0015E: Data Backend Problem com.ibm.websphere.wim.exception.WIMException
    null
    null

    Please help us in resolving the issue.

    ~Raju

  5. Graham says:

    Hi Raju

    Is there any more info in that exception? It looks like something further down the stack is the cause?

Leave a Reply

Your email address will not be published. Required fields are marked *