1、停用账号方法,在执行停用账号方法时,报如下错误:
:修改用户为非活动状态发生异常!异常原因:值类型 PROP_typed_reference 不受支持。
未能在对象 (Fnd0LicenseInfo) 上进行操作。
实例在使用中。
值类型 PROP_typed_reference 不受支持。
未能在对象 (Fnd0LicenseInfo) 上进行操作。
实例在使用中。
public void inactiveUserList(List<String> userIdList) {
if(userIdList == null || userIdList.size() == 0){
return;
}
UserManagementService userService = UserManagementService.getService(AppXSession.getConnection());
UserManagement.CreateOrUpdateUserInputs acreateorupdateuserinputs[] = new UserManagement.CreateOrUpdateUserInputs[userIdList.size()];
for(int index = 0;index<userIdList.size();index++){
UserManagement.CreateOrUpdateUserInputs acreateorupdateuserinputs1 = new UserManagement.CreateOrUpdateUserInputs();
acreateorupdateuserinputs1.userId = userIdList.get(index);
Map userPropertyMap = new HashMap<String, String>();
userPropertyMap.put("status", new String[] {"1"});
userPropertyMap.put("SOA_operation", new String[] { "MODIFY"});
acreateorupdateuserinputs1.userPropertyMap = userPropertyMap;
acreateorupdateuserinputs[index] = acreateorupdateuserinputs1;
}
UserManagement.CreateOrUpdateUserResponse response = userService.createOrUpdateUser(acreateorupdateuserinputs);
String error = ServiceDataUtil.getServiceData2Error(response.serviceData);
if(StringUtils.isNotEmpty(error)) {
throw new RuntimeException("修改用户为非活动状态发生异常!异常原因:"+error);
}
}
看着是值类型的错误,但是我之前用这个方法试过停用账号是没有问题的。
回想起场景,
1、手工用一个DBA账号zhangsan,在胖客户端,让一个11xxxx账号设置为活动状态。
2、然后在用SOA程序固定的infodba账号,来执行停用程序。报上面错误。
解决方案:
我刚开始一直以为在控制台清理infodba账号就可以了,但是实际上还要清理11xxxx账号,才能正常不报错!