• Himanshu Maurya
  • NEWBIE
  • 0 Points
  • Member since 2019

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 4
    Replies
I am having trouble submitting my challenge in Trailhead for the Integrate External Data Unit. I have gone over it a few times and can't figure out what the problem is. 

The error message I am receiving is:
Challenge not yet complete in My Trailhead Playground 1
The 'Phone__x' external object is not correctly setup with an indirect relationship to the User standard object.


In regards to the challenge, it says to:
Change the 'UUID' field on the 'Phone__x' external object to be an indirect lookup relationship to the 'User' standard object. Use the 'Phone_UUID__c' field as the matching key for this indirect lookup relationship.

Here it says the UUID__c is set up as an Indirect Lookup to 'User':
UUID__c Indirect Lookup Help

Here is the edit UUID screen:
UUID__c Indirect Lookup Help

It may just be that I am looking over something simple... Thanks in advance for your help!

Kylee A.

 
Hi all,

We need to implement the following pattern at my org:
  • callout to external data source
  • if that callout takes too long (according to some configurable threshold), log an error (ie do some DML)
  • if that callout timed out on the remote server, try it again
Recognizing the potential for the dreaded "You have uncommitted work pending. Please commit or rollback before calling out." error, I put the error logging code in a future method, thus isolating the DML from the callouts. However, the error is still being thrown. I reduced the issue down to this pattern:
public static void foo() {
    Http http = new Http();
    HttpRequest req = new Httprequest();
    req.setEndpoint('https://test.salesforce.com'); //whatever endpoint
    req.setMethod('GET');
    http.send(req); //works fine
    bar();
    http.send(req); //throws calloutexception
}

@future public static void bar() {

}
Am I correct to assume that calling a future method counts as a DML operation? Is there any documentation I'm missing somewhere?