我试图创建一个用户,它的工作就像一个魅力。但我不能给他/她分配一个用户许可证。我收到了错误信息。字段ObjectId尚未加载或设置。未设置哪个字段ObjectId?
User user = new User(_sessionHelper.getSession());
user.setName(importResourcesData.getSsoID());
user.setPersonalName(importResourcesData.getFirstName() + " " + importResourcesData.getLastName());
User.setEmailAddress(importResourcesData.getEmailAdress());
user.setPassword(importResourcesData.getSsoID(), importResourcesData.getSsoID());
user.setAllResourceAccessFlag(false);
user.setGlobalProfileObjectId(getDefaultGlobalSecurityProfile());
ObjectId userId = user.create(); //WORKS!!!
BOIterator<UserLicense> loadResources = _sessionHelper.getElm().loadUserLicenses(new String[]{"LicenseType"}, "LicenseType = 'Timesheets'", null);
Userlicense ul = loadResources.next();
//This Fails!
user.createUserLicense(ul);发布于 2015-01-31 00:48:41
一般来说,集成API的结构使得一旦调用了对对象的创建或更新,就不应该继续使用该对象。相反,您应该从API中读取一个新对象,并继续使用该新对象。在您的例子中,您将在调用user.create()之后添加类似的内容
final User user2 = User.load(_sessionHelper.getSession(), null, userId);然后在调用user2时使用user代替createUserLicense
user2.createUserLicense(ul);https://stackoverflow.com/questions/26433906
复制相似问题