每日分享最新,最流行的 软件开发 知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。
关于如何实现 Java 和 SFDC 应用程序的讨论。
第一部分:Java 调用 Salesforce
Salesforce 生态系统非常庞大。开发人员需要努力了解来自 Salesforce 的最新、最强大的功能和工具。在本文中,我们将混合一些 旧 的和 新 的. 我们会将基于 Java 的应用程序与 Salesforce 相结合,我们将通过 Web 服务来实现。
Java 是 Sun Microsystems 于 1995 年首次发布的一种编程语言和计算平台。从那时起,我们见证了 Web 2.0 和 Web 编程语言、容器、微服务和云原生架构的兴起。然而,即使是现在,为未来设计的许多新产品和数字服务仍继续依赖 Java。Java 将在可预见的未来出现。
同时,Salesforce 已将自己确立为世界顶级的 CRM 和客户成功平台。当今的企业依赖多云和混合云设置以及需要彼此无缝集成的应用程序,Java 应用程序和 Salesforce Cloud 需要交叉也就不足为奇了。那么我们如何让我们的 Java 和 Salesforce.com (SFDC) 应用程序集成并相互交流呢?
在本文中,我们将讨论如何使用 Web 服务连接器 (WSC) 实现这种集成。我们将使用一个示例用例 — 一家希望使用其 Java 应用程序来操作 Salesforce 组织数据的企业 — 并向您展示如何设置您的开发人员环境并连接各个部分。
但是,在开始之前,让我们简要介绍一下 Salesforce 及其 API 优先方法。
Salesforce 和 API 优先方法
如果您熟悉 SFDC 生态系统,那么您就会知道 Salesforce 在其平台上构建功能时采用 API 优先的方法。事实上,Salesforce 是最早部署 Web API 的公司之一!虽然该平台具有许多强大的内置功能,但 Salesforce 希望使其客户能够创建他们自己的平台所需的功能和自定义体验。通过提供 API,Salesforce 确保 SFDC 可以定制并连接到任何可以与 Web 服务交互的外部应用程序。Salesforce 的一些 API(其中有 很多 )包括:
- SOAP API
- REST API
- 批量 API
- 元数据 API
- Chatter REST API
- 流媒体 API
- 工具 API
可以说 Salesforce 的平台很好地被 API 覆盖,为无数不同的用例开放了对其功能的访问。话虽如此,让我们深入研究我们的用例。
在我们的示例用例中,我们有一个 Java 应用程序,可以帮助企业为其销售组织产生潜在客户。该企业希望 Java 应用程序将合格的潜在客户直接推送到他们的 Salesforce CRM,从而避免手动将潜在客户数据输入 Salesforce。
为了集成 Java 和 Salesforce,我们将使用 Salesforce SOAP API 和Web 服务连接器 (WSC)库,该库用作简化在 Java 中使用 API 的包装层。
最初设定
我们的 Java 开发人员环境的初始设置需要采取几个步骤。幸运的是,我们从这个Salesforce 提示表中获得了指导。尽管如此,我们将在此处提供主要步骤的概述。
安装 Java 开发工具包 ( JDK )
要在我们的 Java 应用程序中使用 Salesforce API,我们将安装版本 11.0 或更高版本的 Java Developer Kit (JDK)。您可以通过访问此页面并为您的本地计算机找到适当的 二进制 文件来做到这一点。
安装 Eclipse
接下来,您需要一个 Java 开发 IDE。虽然您可以使用多个选项,但我们的演练步骤将使用 Eclipse IDE。您可以在此处找到最新的 Eclipse IDE 包。在本地计算机上下载并安装 IDE 。
安装 WSC
由于我们将使用 Salesforce SOAP API,因此我们需要安装 WSC。
下载 WSC Pre-built.jar 文件
WSC的 Maven 存储库显示了所有可用的版本:
导航到与您正在使用 的 Salesforce 的 API 版本相匹配的版本的页面。 在我们的示例中,我们将使用56.0.0。
在 文件 下,我们点击 查看全部 。. jar 这会将我们带到我们需要下载的实际文件。
将以下四个文件下载到本地机器:
- force-wsc-56.0.0-javadoc.jar
- force-wsc-56.0.0-sources.jar
- force-wsc-56.0.0-uber.jar
- force-wsc-56.0.0.jar
我们将使用这些文件生成带有来自 Salesforce 组织的 WSDL 的存根文件。
为您的 Salesforce 组织生成和下载 WSDL
接下来,我们将生成一个 WSDL 以用于生成我们的 .jar 存根文件。我们不能在此处使用预构建的 .jar 文件,因为 WSDL 特定于我们的 Salesforce 组织。如果在我们的组织中定义了自定义对象和字段,那么 WSDL 将反映这些,并且生成的 .jar 将包含它们。
我们登录到我们的 Salesforce 开发人员组织。然后,我们导航到 Setup 、 Platform Tools 、 Integrations 和 API 。我们单击“生成企业 WSDL”。
这将在您的浏览器中打开一个新选项卡,显示您的 WSDL 文件。将此文件保存到您的本地计算机,名称为sfdc.wsdl. 将其放在下载 WSC .jar 文件的同一文件夹中。
生成 Java 存根文件
要将 SOAP API 与 Java 一起使用,我们需要生成 .jar 存根文件以在我们的应用程序项目中使用。我们运行以下命令来生成存根文件:
$ java -classpath force-wsc-56.0.0-uber.jar com.sforce.ws.tools.wsdlc sfdc.wsdl sfdc_stub.jar
[WSC][wsdlc.main:72]Generating Java files from schema …
[WSC][wsdlc.main:72]Generating 1206 java files.
[WSC][wsdlc.main:72]Compiled 1210 java files.
[WSC][wsdlc.main:72]Generating jar file … sfdc_stub.jar
[WSC][wsdlc.main:72]Generated jar file sfdc_stub.jar
在 Eclipse 中创建 Java 项目
Main在 Eclipse 中,使用以下代码启动一个新的 Java 项目和一个新的 Java 类:
package wsc;
// Depending on wsdl chosen, change this to enterprise or partner
import com.sforce.soap.enterprise.*;
import com.sforce.soap.enterprise.sobject.*;
import com.sforce.ws.*;
public class Main {
public static void main(String[] args) {
ConnectorConfig credentials = new ConnectorConfig();
credentials.setPassword(“YourPassword!apPenDdedSecurityToken);
credentials.setUsername(“yoursalesforceusername@yourdomain.com”);
EnterpriseConnection connection;
try {
connection = Connector.newConnection(credentials);
Lead le = new Lead();
le.setLastName(“AcmeEnterprises”);
le.setCompany(“JavaPush”);
le.setIndustry(“Hospitality”);
connection.create(new Lead[]{ le });
} catch (Connection Exception e) {
e.printStackTrace();
}
}
}
将 .Jar 文件添加到项目中
接下来,我们需要将生成的四个 .jar 文件与我们项目的构建路径连接起来。右键单击您的项目并选择 Build Path , Configure Build Path 。
在出现的模式中,导航到左侧面板中的 Java Build Path 。 单击 库 选项卡。选择 Modulepath ,然后单击 Add External JARs 按钮。找到您从 Maven 存储库下载的四个 .jar 文件和生成的存根文件 ( sfdc_stub.jar),然后添加它们。然后,单击 应用并关闭 。
测试应用程序
我们都设置好了,我们的代码和我们的 .jar 文件都准备好了。Main.java现在,在 Eclipse 中右键单击您的文件。选择 运行方式 -> Java 应用程序 。
运行应用程序后,我们导航到 Salesforce 组织中的销售 线索 ,我们看到我们有一个新的线索!
我们的 Java 应用程序已通过 SOAP API 成功接入我们的 Salesforce 组织,使用 WSC 插入新的潜在客户!
下一步
现在我们已经验证了最初的概念证明,您可以开始扩展您的 Java 应用程序以执行其他操作,包括读取、更新和删除。您可以合并您自己的自定义业务逻辑来创建一个 Java 应用程序来为您处理您的 Salesforce 组织数据!
有关我们涵盖的许多核心概念的更多信息,以下是有用资源的链接:
- Web 服务连接器 ( GitHub )
- Salesforce Master GitHub Repo(SFDC 存储库的宝库)