У меня есть профиль пользователя со всем отключенным, кроме API Only
и API Enabled
. Этому профилю пользователя предоставляется доступ к набору классов, в которых определены службы REST.
Я вижу очень странное поведение при звонке Schema.getGlobalDescribe()
. Я получаю разные ответы в зависимости от того, из какого класса я вызываю этот метод, даже если все классы определены одинаково. Вот упрощенная версия проблемы:
global without sharing class WebServiceClass {
{
System.debug(WebServiceClass.fieldsContainName()); // THIS RETURNS TRUE
System.debug(UtilityClass.fieldsContainName()); //THIS RETURNS FALSE!
}
global static Boolean fieldsContainName() {
System.debug(Schema.getGlobalDescribe().get('contact').getDescribe().fields.getMap().keySet().contains('name'));
}
}
global without sharing class UtilityClass {
global static Boolean fieldsContainName() {
System.debug(Schema.getGlobalDescribe().get('contact').getDescribe().fields.getMap().keySet().contains('name'));
}
}
С чего бы это?