我实现了一个批处理作业,它在相同的salesforce实例中进行job服务调用,然后应该发送带有pdf附件的电子邮件,因为您不能直接从批处理作业发送pdf附件。我的webservice调用如下所示:
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()返回null,因此我得到了一个INVALID_SESSION_ID异常。
如何登录才能获得SessionId?到目前为止,我还没有找到从salesforce登录到salesforce的解决方案。如果你能帮助我,我将不胜感激!谢谢!
发布于 2012-03-02 05:38:00
您不能在批处理顶点中获得这样的会话Id,因为它在系统上下文中运行,因此没有特定的用户信息可供检索。
更新:
您有以下选项:
请注意,这两种解决方案都不是理想的,您可能希望重新考虑为什么首先使用批处理顶点,并看看是否可以用不同的方式重新实现它。
https://stackoverflow.com/questions/9520877
复制相似问题