0
我实现了一个批处理作业,该作业在同一个salesforce实例中进行web服务调用,然后应该发送带有pdf附件的电子邮件,因为您无法直接从批处理发送pdf附件工作。我的Web服务调用看起来是这样的:Salesforce:从Salesforce到Salesforce的SOAP登录
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的解决方案。如果你能帮助,我将不胜感激!谢谢!
我知道,这就是为什么我想找到另一种获得会话ID的方法。必须有一种方法可以从apex代码调用另一个salesforce webservice。如果你可以从apex调用一个sf web服务,那么必须有登录的可能性,并因此获得一个会话id。 – Phil 2012-03-02 09:27:14
查看更新的答案。 – pbattisson 2012-03-02 12:30:58
上周我通过选项1了解了它。此链接http://developer.force.com/cookbook/recipe/calling-salesforce-web-services-using-apex帮助了我很多。我们需要使用批处理作业的原因是,我们希望将作业计划为自动将发票发送给客户。 – Phil 2012-03-05 09:40:45