我正在尝试使用工具 API 停用触发器。我在开发人员 ORG 中取得了成功。但无法在真正的开发者组织中做到这一点。这是 Salesforce 工具 API 错误吗?
这是算法的基础,
- 创建具有唯一名称的 MetadataContainer
- 保存元数据容器
- 创建一个 ApexTriggerMember 设置 Body、MetadataContainerId、ContentEntityId 和 Metadata[apiVersion=33.0 packageVersions=[] status="Inactive" urls=nil>]
- 修改元数据["status"]="Inactive"
- 保存 ApexTriggerMember
- 创建/保存 ContainerAsyncRequest
- 监控容器直到完成。
- 适当时显示错误
在沙箱中,我在重新查询 Apex 输入代码 hereTriggerMember 后确认只读字段“内容”看起来合适。我还确认 MetadataContainerId 现在指向状态为“已完成”的 ContainerAsyncRequest
这是我的结果,它似乎是成功的,但 ApexTrigger 从未停用 ContentEntityId = 01q.............[我要停用的 ApexTrigger]
Content="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<ApexTrigger xmlns=\"urn:metadata.tooling.soap.sforce.com\">
<apiVersion>33.0</apiVersion>
<status>Inactive</status>
</ApexTrigger>"
Metadata={apiVersion=33.0 packageVersions=nil status="Inactive" urls=nil> attributes= {type="ApexTriggerMember"
url="/services/data/v33.0/tooling/sobjects/ ApexTriggerMember/401L0000000DCI8IAO"
}
}