Я реализовал пакетное задание, которое вызывает вызов webservice в том же экземпляре salesforce, который затем должен отправлять электронные письма с вложением в pdf, , поскольку вы не можете отправлять вложения PDF напрямую из пакета работа. Мой вебсервис вызов выглядит следующим образом:Salesforce: SOAP Логин от Salesforce TO Salesforce
public static void callOut(List ids){
InvoiceAttachmentConnector.InvoiceAttachmentService ws = new InvoiceAttachmentConnector.InvoiceAttachmentService();
ws.SessionHeader = new InvoiceAttachmentConnector.SessionHeader_element();
ws.SessionHeader.sessionId = UserInfo.getSessionId();
ws.handleInvoicePdfAttachment(ids);
}
Однако в пакетных заданий UserInfo.getSessionId() возвращает нуль, поэтому я получаю исключение INVALID_SESSION_ID.
Как я могу войти в систему, чтобы получить SessionId? До сих пор я не нашел решения для входа от salesforce к salesforce. Если вы можете помочь, я был бы признателен! Благодаря!
Я знаю, поэтому я хочу найти другой способ получить идентификатор сеанса. Должен быть способ вызвать другой веб-сервис salesforce из кода apex. И если u может вызывать sf webservice с вершины, должна быть возможность входа в систему и, следовательно, получить идентификатор сеанса. – Phil
См. Обновленный ответ. – pbattisson
Я получил его на прошлой неделе с опцией 1. Эта ссылка http://developer.force.com/cookbook/recipe/calling-salesforce-web-services-using-apex мне очень помогла. Причина, по которой нам нужно использовать пакетное задание, заключается в том, что мы хотим запланировать задание для автоматической отправки счетов-фактур клиентам. – Phil