Как разрешить MetadataAPI, выдавая ошибку "System.CalloutException: IO Exception: Read timed out" при установке для recordType значения поля поиска
Я использую API метаданных для добавления значения списка выбора ('custom') в поле. У меня есть созданный тип записи (AAM_T), который должен быть связан со значением, которое я добавил в список выбора, но как при запуске: service.updateMetadata( new MetadataService.Metadata[] { recordType }); вызывая ошибку "System.CalloutException: IO Exception: Read timed out".
MetadataService.PickListValue objPickListValue = new MetadataService.PickListValue();
objPickListValue.fullName = 'custom';
objPickListValue.default_x = false;
MetadataService.RecordType recordType = (MetadataService.RecordType)
service.readMetadata('RecordType',
new String[] { 'Account.AAM_T'}).getRecords()[0];
MetadataService.RecordTypePicklistValue[] recordPickListType = recordType.picklistValues;
if(recordPickListType.size() > 0){
for(MetadataService.RecordTypePicklistValue rpk : recordPickListType) {
if(rpk.picklist == picklistToUpdate){
rpk.values.add(objPickListValue);
break;
}
}
try{
service.updateMetadata( new MetadataService.Metadata[] { recordType });
} catch(Exception ex){
system.debug('@@@getStackTraceString : '+ex.getStackTraceString());
//Result: System.CalloutException: IO Exception: Read timed out -- null
system.debug('@@@getMessage : '+ex.getTypeName()
+ ': ' + ex.getMessage() + ' -- ' + ex.getCause());
}
}
1 ответ
Вы можете попробовать это, как и любой другой веб-сервис. работал со мной
MetadataService.MetadataPort service = новый MetadataService.MetadataPort();
service.timeout_x=120000;