cancel
Showing results for 
Search instead for 
Did you mean: 

User mapping issue using SAP net weaver developer studio

Former Member
0 Kudos

Dear All,

I am getting below error when updating user mapping in SAP Enterprise Portal. I was able to update the data through SAP portal but not through the below code.

Code:

  1. userMapData.setSystemAlias(“WebEx”);
  2. mappingData.put(UmeConstants.USERNAME, "user id");

                                                               mappingData.put(UmeConstants.PASSWORD, "pasword");

if (!userMapData.setMappingData(newUser, mappingData,logger)) {

errorMessage = new ErrorMessage("Set user maaping data for + " + newUser.getDisplayName() + " failed.", "ApolloUMECreateUser.setUserMappingData()");

                                                              

public boolean setMappingData(IUser iUser, Map logonData, UmeLog logger) {

        //logonData needs to be able to be null to clear the user mapping!

        if (iUser != null) { 

            try {

                  IUserMappingData mappingData = iUserMapping.getUserMappingData(systemAlias, iUser, logonData);

                //IUserMappingService iums = (IUserMappingService)PortalRuntime.getRuntimeResources().getService(IUserMappingService.KEY);

                //IUserMappingData mappingData = iums.getMappingData (systemAlias, iUser);

                mappingData.storeLogonData(logonData);

                        return true;

            }

            catch (IOException ioe) {

return false;

            }

            catch (Exception e) {

                        return false;

            }

        }

        return false;

    }

Error:

#1.5#00155D007802007D0000417100000B480004F636722D1228#1396613610296#com.sap.security.core.umap.imp.UserMappingDataImp#ibm.com/ibm.com.tivoli.im.umeagent#com.sap.security.core.umap.imp.UserMappingDataImp.saveLogonDataInternal(Map, boolean)#Guest#0##n/a##88b1fdb2bbf211e3a6ac00000032f136#SAPEngine_Application_Thread[impl:3]_24##0#0#Error##Java###Cannot save logon data for principal {0} because there is no mapped backend user ID in the logon data map to save.#1#"user id, password" (unique ID: "USER.PRIVATE_DATASOURCE.un:aujastest31")#

#1.5#00155D00780200740000411600000B480004F636722D12D8#1396613610296#System.err#ibm.com/ibm.com.tivoli.im.****umeagent#System.err#Guest#0##n/a##88cc4ee9bbf211e3b0a300000032f136#SAPEngine_Application_Thread[impl:3]_33##0#0#Error##Plain###Apr 4, 2014 5:43:30 PM com.ibm.tim.agents.UmeAgent [SAPEngine_Application_Thread[impl:3]_33] Info: Created the Writer

#

#1.5#00155D007802007D0000417200000B480004F636722D18DA#1396613610296#com.sap.security.core.umap.imp.UserMappingDataImp#ibm.com/ibm.com.tivoli.im.umeagent#com.sap.security.core.umap.imp.UserMappingDataImp#Guest#0##n/a##88b1fdb2bbf211e3a6ac00000032f136#SAPEngine_Application_Thread[impl:3]_24##0#0#Error##Java###storeLogonData(Map)

[EXCEPTION]

{0}#1#com.sap.security.api.UMException: Mapped backend user ID not specified.

      at com.sap.security.core.umap.imp.UserMappingDataImp.saveLogonDataInternal(UserMappingDataImp.java:280)

      at com.sap.security.core.umap.imp.UserMappingDataImp.saveLogonData(UserMappingDataImp.java:251)

      at com.sap.security.core.umap.imp.UserMappingDataImp.storeLogonData(UserMappingDataImp.java:223)

      at com.ibm.tivoli.integration.im.agents.umeagent.sap.usermapping.UserMapData.setMappingData(UserMapData.java:106)

      at com.ibm.tivoli.integration.im.agents.umeagent.sap.UMECreateUser.setUserMappingData(UMECreateUser.java:381)

      at com.ibm.tivoli.integration.im.agents.umeagent.sap.UMECreateUser.UMECreateSAPUser(UMECreateUser.java:118)

      at com.ibm.tim.agents.UmeAgent.UMEProcessAddRequest(UmeAgent.java:207)

      at com.ibm.tim.agents.UmeAgent.processRequest(UmeAgent.java:134)

      at com.ibm.tim.agents.UmeAgent.doPost(UmeAgent.java:89)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

      at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

      at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

      at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

      at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1060)

      at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

      at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

      at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

      at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

      at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

      at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

      at java.security.AccessController.doPrivileged(Native Method)

      at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)

      at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

#

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

The user is not being found in your database. Can you paste the code you are using to look for iUser?

Former Member
0 Kudos

Thanks Rodrigo for you reply.

In Data Base user is exist and manually user mapping is working only through code i am getting error. Using code user is creating but mapping is not happening. I am sending ep6User user as iUser please find requested code.

Please suggest Thanks in advanced!!!

public UmeUser processRequest(com.ibm.dsml2.parser.AddRequest addRequest) {

        UmeUser ep6User = null;

        try {

            Enumeration enumAddRequestAttr = addRequest.enumerateAttr();

            Properties userAttributes = new Properties();

            while (enumAddRequestAttr.hasMoreElements()) {

                com.ibm.dsml2.parser.Attr attr = (com.ibm.dsml2.parser.Attr) enumAddRequestAttr.nextElement();

             

               if (attr.getValueCount() == 1) {

                    userAttributes.put(attr.getName(), getAttributeValue(attr));

                }

                else {

                    List list = new ArrayList(attr.getValueCount());

                    for (int i = 0; i < attr.getValueCount(); i++) {

                        list.add(getAttributeValue(attr, i));

                    }

                    userAttributes.put(attr.getName(), list);

                }

            }

            ep6User = new UmeUser(userAttributes, logger);

        }

        catch (Exception e) {

            logger.log(this.getClass().getName(), e);

        }

        return ep6User;

    }