Я пытаюсь сделать APEX Trigger Callout, используя POST для Google Cloud.Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда срабатывает триггер, я мог видеть, что аутентификация проходит нормально, но сообщение приходит как «Не определено» только из журналов драйвера стека, поэтому облачная функция завершится ошибкой, поскольку сообщение должно быть в формате JSON.Не уверен, почему это происходит. Я довольно новичок в Salesforce. Пожалуйста, предоставьте некоторые советы по этому вопросу.Если я тестирую облачную функцию напрямую (используя опцию «Тестирование внутри облачной функции»), я вижу, что вставка происходит в таблицу BigQuery, как и ожидалось, но из триггера Salesforce кажется, что сообщение не перехватывается должным образом.Коды PFB, используемые в Salesforce. Ожидается то же сообщение, которое мы вставляем в таблицу LEAD в Salesforce в качестве запроса API Rest
Класс Salesforce:
Public class Callout {
@future(callout=true)
Public static void httpcallout(){
Lead c = [Select Name from Lead Limit 1] ;
system.debug('Halo Trigger');
JSONGenerator gen = JSON.createGenerator(true);
gen.writeStartObject();
gen.writeStringField('Name', c.Name);
gen.writeEndObject();
String jsonS = gen.getAsString();
System.debug('jsonMaterials'+jsonS);
String endpoint = 'https://us-central1-valid-weaver- 235212.cloudfunctions.net/Salesforce-GCP';
HttpRequest req = new HttpRequest();
req.setEndpoint(endpoint);
req.setMethod('POST');
req.setbody(jsonS);
Http http = new Http();
HTTPResponse response = http.send(req);
}
}
Триггер Salesforce
trigger SFGCP on Lead (after insert) {
callout.httpcallout();
system.debug('Hello');
}
Отладка в Salesforce
Lead c = new Lead(Company ='Test',LastName='Admin');
insert c;