Web services Pentaho/Salesforce:如何将SF Enterprise Web Services API V48.0集成到仅支持v47.0的PDI 9.0中

Web services Pentaho/Salesforce:如何将SF Enterprise Web Services API V48.0集成到仅支持v47.0的PDI 9.0中,web-services,salesforce,pentaho,kettle,pdi,Web Services,Salesforce,Pentaho,Kettle,Pdi,实际上,我正在使用PDI8.2,但是我可以升级到9.0 主要问题是,客户希望从salesforce获取数据,而salesforce目前运行良好。但他使用的是48.0版的企业Web服务API,最新的Pentaho仅支持v47.0。 我强烈认为,通过v48.0进行阅读不会与PDI一起工作,因此我必须构建一个解决方案有人能给我指出一个可行的解决方案吗?老实说,我甚至不知道企业或合作伙伴API是否与Pentaho相关。我有自己的SF帐户,这样我就可以尝试使用API了。 “Web服务查找”是解决方案的正确

实际上,我正在使用PDI8.2,但是我可以升级到9.0

主要问题是,客户希望从salesforce获取数据,而salesforce目前运行良好。但他使用的是48.0版的企业Web服务API,最新的Pentaho仅支持v47.0。

我强烈认为,通过v48.0进行阅读不会与PDI一起工作,因此我必须构建一个解决方案
有人能给我指出一个可行的解决方案吗?
老实说,我甚至不知道企业或合作伙伴API是否与Pentaho相关。我有自己的SF帐户,这样我就可以尝试使用API了。 “Web服务查找”是解决方案的正确步骤吗


任何答复都将不胜感激!提前谢谢

哦,老兄,这是个多么疯狂的问题,到处都是

我强烈认为通过v48.0进行阅读是行不通的

你得试试,但它应该有用。Salesforce每年有3个版本,这是他们升级API版本的时候。我们现在是20年春天,是48节。这并不意味着下面的任何内容都不受欢迎。使用任何API版本>=20调用都不会有问题。据我所知,他们的主服务协议规定,发布的API版本将至少保持3年。v.20已经9岁了,仍然很强壮

例如,检查一下(如果您的客户启用了“我的域”,您也可以使用它,而不是某个未知的公司),您应该会看到类似的列表:(不需要登录,这将是一个鸡和蛋的情况。在进行登录调用时,您需要选择您想要的API版本)

所以。。。你的集成做什么。我假设它读取或写入SF表(对象),这是非常基本的东西。从这个意义上说,47对48并不重要。您仍然可以看到帐户、联系人、自定义对象。。。您不会看到在v48中专门创建的表。除非你一定要看到书中提到的东西,否则我不会太担心

如果您的客户端编写了一个特定的类(服务)来向您提供数据,并且它是在v.48中编写的,那么当您以v.47身份登录时,它可能不可见。但是他们可以降级版本,一切都会好起来的。这样的定制服务很少被通用ETL工具使用,所以只有在进行定制编码时才会引起关注

企业或合作伙伴API是否与Pentaho相关

听起来您的ETL工具使用的是SOAP API。Salesforce提供了带有服务定义的WSDL文件的两个版本

“合作伙伴”是通用的,世界上所有的SF组织都生成相同的WSDL文件。它不包含任何关于在vanilla salesforce之上编写的表、列和自定义服务的具体信息。但它确实包含如何调用login()或运行“descripe”的信息,该信息提供用户可以看到的所有表、它们的名称、列、数据类型。。。所以你可以在运行时学习。当您正在构建一个通用的可重用应用程序,该应用程序可以连接到任何SF,或者您希望成为动态应用程序时,“合作伙伴”非常棒(一些备份工具每天都可以学习列,并且可以毫无问题地处理更改。或者有一个“连接向导”,您可以在其中指定哪些表、哪些列、哪些映射…新字段进入-只需重新运行该向导)

“企业”将特定于该特定客户。它包含“Partner”拥有的所有内容,但也包含数据库表当前状态的描述等。因此,您不必调用“descripe”,您已经拥有了所有内容。您可以使用它来“消费”WSDL文件,从中生成Java/PHP/C#类,并在程序中与它们进行交互,就像其他任何普通对象一样,而不是手工制作XML消息。 缺点是,如果添加了新字段或新表,您将不知道您的程序是否不调用“descripes”。您需要生成新的WSDL并再次使用它,然后重新编译您的程序

选择正确的一个真的取决于你需要做什么。我见过的ETL工具一般都适合“合作伙伴”

“Web服务查找”是正确的步骤吗

不知道,我用过Informatica,Azure数据工厂,Jitterbit,Talend。。。但是不知道Pentaho的事。试试看。如果您直接从SF表中提取数据,而不调用任何自定义代码(您可以想到SF自定义服务,比如从存储过程中提取数据),那么API版本应该没有那么重要。如果你去<41.0,我相信你不会看到个别对象,例如,但我怀疑你需要在这么多的尖端