function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
InfopiaInfopia 

Upsert using Partner WSDL?

We’re currently in the process of revamping our Salesforce integration to use the upsert functionality using the Partner WSDL. I think that I'm on the right track on this, but something isn't right because I'm getting the error: INVALID_FIELD: Field name provided, External_Id__c does not match an External ID for Contact

Perhaps my understanding of how the External Ids work in the Partner WSDL is off:

-----------------------------------------------------------------------------------------------------------------------------

List<MessageElement> elements = new ArrayList<MessageElement>();

SObject account = new SObject();

account.setType("Account");

// External_Id__c is the API call name of our external id on Account account.set_any(new MessageElement[] { new MessageElement(new QName("Name"), "eCommerce"),

                                       new MessageElement(new QName("External_Id__c"), "eCommerce") }); elements.add(new MessageElement(new QName("Account"), account));

SObject contact = new SObject(); elements.add(new MessageElement(new QName("FirstName"),"Jon")); elements.add(new MessageElement(new QName("LastName"), "Jessup")); // External_Id__c is the API call name of our external id on Contact elements.add(new MessageElement(new QName("External_Id__c"), "jjessup@infopia.com"));

contact.setType("Contact");                                            

contact.set_any((MessageElement[])elements.toArray(new MessageElement[0])); ----------------------------------------------------------------------------------------------------------------------------- Can someone please explain?

Thanks!

werewolfwerewolf
When you go to Setup->Customize->Contact->Fields and look at that External_Id__c field, is the "External ID" checkbox turned on?  If it's not, then that's your problem right there.