我有一个将callout
应用到.net
的未来方法。在顶部附近,我有硬编码声明:
private static final String SERVICE_URL = 'https://outside.site.com';
我稍后在setEndpoint
对象的HttpRequest
调用中使用。
此字符串出现在远程站点设置中 - 它必须,以便它可以工作。沙箱和生产之间的字符串值不同,但远程站点设置对象的名称是相同的 - ' Broker'。我想删除这个硬编码字符串并使用名称' Broker'找到远程站点设置对象并将端点设置为其URL - 在沙盒和生产之间移动时,不用担心。
虽然我看到很多关于如何使用元数据或工具创建远程站点设置的示例,但我没有找到如何查询一个例子,只有几十个人询问如何进行查询。
消除此硬代码的最佳,最简单的方法是什么?
答案 0 :(得分:0)
远程站点是元数据对象,因此您无法通过SOQL / APEX直接访问它们。这是一项安全功能,可确保呼叫不会打到不安全的网站,即在您无法控制的情况下将安全数据发送到您的组织之外。
如果这是一个数据对象并且可以通过SOQL / Apex进行管理,则有人可能会恶意插入一行,然后将所有数据从SF传递到他们的站点。
我的建议是添加两个基本域,例如example.com
,然后使用自定义对象或类似对象来管理完整的URL。