Skip to main content

Hello,


I have some workflows in which the destination users are assigned dynamically using code in destination rule. In the destination rule a web service call being made which returns the valid active directory users. pseudo code


private void SetActivityUsers(string strWebServiceURL, string strWBParam1, string strWBParam2, SourceCode.KO.Destinations objDestinations)
        {
            try
            {


                ServiceAgent objServiceAgent = new ServiceAgent();
                MyWebService.Usern] objUsers = objServiceAgent.GetUsers(strWebServiceURL, strWBParam1, strWBParam2);


   if (objUsers != null)
                {
                    foreach (MyWebService.User objUser in objUsers)
                    {
                        objDestinations.Add(DestinationType.User, objUser.Uid);
                    }
               }


 }



            }
            catch (Exception ex)
            {
                CLogger.WriteAlways(this.m_SourceWorkFlow, this.m_ProcessId.ToString(), ex,  System.Diagnostics.EventLogEntryType.Error);
                throw;
            }


 


 


the  above code was working perfectly (and still working in production) ..but suddenly now  in the UAT environment the users are not identified correctly by K2.


for example.. for the initial activity web service returns a user as p_jackson (which is valid user in AD and K2), but in K2 workspace it shows the originator name as p.jackson (which is not a valid user). and thus when i try to get the worklist for user through code it gives error.


following errors being logged in event viewer..



  • The specified user does not exist. Resolving User:DomainP.JACKSON|   at ADUM.K2UserManager2.GetUser(String Name)
    at ADUM.K2UserManager2.FindSecurityGroupsWithDefault(String User, String Name, String Description, String domainLDAP, String uOrgUnit)
    at ADUM.K2UserManager2.FindSecurityGroups(String User, IDictionary`2 properties)
    at SourceCode.Security.Providers.K2UMProvider.K2UMProvider.SourceCode.Hosting.Server.Interfaces.IRoleProvider.FindGroups(String userName, IDictionary`2 properties)


 at SourceCode.Security.UserRoleManager.Runtime.UserRoleManagerServer.FindGroups(String userName, IDictionary`2 properties, String labelName, String extraData)


For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.




  • 2025 Error Marshalling SourceCode.Security.UserRoleManager.Runtime.UserRoleManagerServer.FindGroups, The specified user does not exist. Resolving User:DomainP.JACKSON.  For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.



  • 2025 Error Marshalling SourceCode.Security.UserRoleManager.Runtime.UserRoleManagerServer.FindGroups, The specified user does not exist. Resolving DomainP.JACKSON. For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.



  • 8060 ProcessPacket Error, The specified user does not exist. Resolving User:DomainP.JACKSON . For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.



 


i have checked the web service and it always returning the correct user, not sure what is the problem.


Any suggestion ..where to look at and what could be the problem?


 


 


 



              

On your UAT environment, check the user account properties from the "Active Directory users and computers" snap-in and select the account tab. Look for user logon name field. Whatever is present there will show up in K2 workspace.


Is your webservice querying the UAT's AD or some other AD? Does your webservice return the User Principal Name (UPN) or other property of user's account?


Reply