如何从salesforce.com调用heroku java应用程序?

Sam*_*Sam 2 java integration salesforce heroku

我对集成很新,但我在salesforce方面有很好的开发经验.我需要在salesforce中生成功率点演示,但目前似乎无法直接在salesforce中执行此操作.所以我用Google搜索并发现了一些生成ppt的java类.所以现在我能够在eclipse中运行我的本地机器中的java并生成ppt.

需要帮助来了解我应该在哪里获得我的java课程?Heroku的?不知道该怎么做.我的salesforce Apex代码可以与Heroku上传的java类进行通信,如果是,那么如何?

对此的任何帮助都非常贴切.

问候萨姆

rya*_*ard 5

是的,这绝对是可能的.Salesforce和Heroku之间没有特殊的通信,但两者可以使用常规HTTP API相互通信.为此,您需要:

  1. 将您的PPT生成器暴露在Heroku上运行的Web服务中.首先,看看Heroku上的Java 入门文章或Play入门!在Heroku文章上获取基本的HTTP应用并在Heroku上运行.然后,在应用程序中删除PPT生成器类并创建一个端点来访问它们.例如,您可以创建一个端点,/ppt以便在转到https://example.herokuapp.com/pptPPT时生成并在HTTP响应中返回.当然,您可以使服务提供动态PPT,但是对于此示例保持简单.

  2. 从Apex呼叫您的Heroku应用程序.为此,请查看Apex文档中的HTTP RESTful Services类.例如,您可以在Apex中执行以下操作:

    Http h = new Http();
    
    HttpRequest req = new HttpRequest();
    req.setEndpoint('https://example.herokuapp.com/ppt');
    req.setMethod('GET');
    
    HttpResponse res = h.send(req);
    res.getBody();
    
    Run Code Online (Sandbox Code Playgroud)

如果这些PPT是保密的,您可能还希望在两个系统之间使用某种认证方案; 否则,任何击中你的终端的人都可以获得PPT.我至少会使用带有共享密钥的基本身份验证来保护您的服务,但如果您愿意,也可以使用更高级的内容.

我上面解释的是整个后端API,但是如果你想在Heroku中为你的服务创建一个UI并将它暴露给Salesforce用户,你可能想看看新的Force.com Canvas框架.