Всем привет, есть ли способ чтобы узнать все возможные url текущего инстанса?
СФ очень любит разные домены. Url зависит от множества факторов classic/lightning/VF/текущий пакет/site/кастомный домен.
Хочется уметь делать запросы к metadata api из бэкграунд джобы, но sf url на клиенте и в бэкграунде разный.
UPD: Можно просто поменять стабы MetadataService и делать запросы только к тому url, который есть в remote site settings.
А зачем обращаться к метадате через "все возможные url текущего инстанса"?
Как вариант можно запрос на метод login в SOAP запрос сделать и он вернет что-то похожее.
'soapUrl': 'https://eu14.salesforce.com/services/Soap/u/39.0/00D24000000JwEn',
'serverUrl': 'https://eu14.salesforce.com/',
'metadataUrl': 'https://eu14.salesforce.com/services/Soap/m/39.0/00D24000000JwEn',
Даже при кастомных доменах к любому оргу можно достучаться по урлу вида https://eu14.salesforce.com/
Думаю что этот базовый url можно вытянуть и без login метода (нет под рукой примеров)
И правда в этом нет смысла.
Я просто использовал сгенеренный MetadataService, а он всегда пытается слать запросы на разный URL в зависимости от контекста.
Но чтобы сделать запрос к metadata api из apex нужны remote site setting, а для них нужен metadata api и по кругу.
Ты как обращаешься к метадате ? Из асинхронного процесса или нет ?
Scheduler/Queueable
Тогда не должно быть проблем. Через url.getbaseurl().toexternal... Можно получить инстанс и уже от него плясать.
[quote="Gres"][quote="wilder"]Ты как обращаешься к метадате ? Из асинхронного процесса или нет ?[/quote] Scheduler/Queueable[/quote] Тогда не должно быть проблем. Через url.getbaseurl().toexternal... Можно получить инстанс и уже от него плясать.