salesforce - 如何解决 MetadataAPI 在将记录类型设置为查找字段值时给出“System.CalloutException:IO 异常:读取超时”错误
问题描述
我正在使用元数据 API 在字段中添加选项列表值(“自定义”)。我创建了一个记录类型(AAM_T),它必须与我添加到选项列表的值相关联,但在运行时:service.updateMetadata(新MetadataService.Metadata[] { 记录类型 }); 导致错误“System.CalloutException:IO 异常:读取超时”。
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());
}
}
解决方案
您可以像任何其他 Web 服务一样尝试此操作。对我有用
MetadataService.MetadataPort 服务 = 新 MetadataService.MetadataPort();
service.timeout_x=120000;
推荐阅读
- vim - Vim:删除标签+匹配字符而不删除它们之间的文本?
- debian - How to sign deb/apt repo after release?
- graphql - Nuxt apollo TypeError:无法读取未定义的属性“节点”
- docker - 如何将两个docker容器连接到openvswitch+DPDK
- python - Pandas 为 groupby 中的每一列获取三个最常见的值
- sql - MS Access SQL:多个条件的 Sum IIF,格式为列而不是行
- exception - PhpStorm 在启动时崩溃
- python - 如何通过引用列中的值将值添加到新列
- python - 在 python 中总结 p 值 10 种不同的回归模型
- model-checking - Uppaal - 通道同步 - 在评估警卫之前更新值