ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – sales force在一次调用中保存依赖对象

2019-06-29 15:19:31  阅读:177  来源: 互联网

标签:php soap-client salesforce


我使用salesforce合作伙伴WSDL和soap api在salesforce上上传数据并将其存储在SF对象上
我有两个依赖对象,它们有一个用于子对象的查找字段

当我存储父对象时,我想存储从属子对象数据.

如何使用SOAP api实现此目的.

提前致谢..

解决方法:

您可以通过在父对象类型上使用外部ID字段在SOAP中执行此操作,这将允许您发送父&单个调用中的子对象,并通过外部Id字段值自动关联它们.

这是Java中的一个示例,它可以一次创建帐户和相关联系人.联系人通过extId__c字段与帐户相关联.

public static void main(String[] args) throws Exception {

    // login to salesforce.
    PartnerConnection pc = Connector.newConnection(args[0], args[1]);

    // The new Account record we're going to create.
    SObject acc = new SObject();
    acc.setType("Account");
    acc.setField("Name", "My New Account");
    acc.setField("extId__c", UUID.randomUUID().toString());

    // The new Contact record we're going to create.
    SObject con = new SObject();
    con.setType("Contact");
    con.setField("FirstName", "Simon");
    con.setField("LastName", "Fell");
    // This Account object we build with the relationship to the account above based
    // on the extId__c field, and then we set it on the contact record
    // this is the standard FK lookup using ExternalIds feature.
    SObject parentAcc = new SObject();
    parentAcc.setType("Account");
    parentAcc.setField("extId__c", acc.getField("extId__c"));
    con.setField("Account", parentAcc);


    // Now we can insert both records at once
    SaveResult [] sr = pc.create(new SObject [] { acc, con} );
    printSaveResult("Account result", sr[0]);
    printSaveResult("Contact result", sr[1]);
}

private static void printSaveResult(String label, SaveResult sr) {
    if (sr.isSuccess())
        System.out.println(label + " success recordId is " + sr.getId());
    else 
        System.out.println(label + " failed, reason is " + sr.getErrors()[0].getMessage());
}

当我运行它时,它会打印出来

Account result success recordId is 0013000001DFMRxAAP
Contact result success recordId is 0033000001aEgskAAC

当我登录网络应用程序时,我可以在其相关列表中看到我的新帐户记录和子联系人记录.

标签:php,soap-client,salesforce
来源: https://codeday.me/bug/20190629/1326862.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有