Boomi to SFDC REST API with OAuth 2.0: 400 Bad Request

Use case:

  1. Boomi configured to use HTTP Client connector as per Boomi configuration doc
  2. Connected App setup in SFDC as per instructions above
  3. OAuth Token successfully generated
  4. Boomi POST to SFDC /services/data/v43.0/sobjects/SomePlatformEvent__e with a correct JSON body

Result: 400 Bad Request

Unable to browse connector: invalid response:
[{"errorCode":"URL_NOT_RESET","message":"Destination URL not reset. 
The URL returned from login must be set"}]

If the OAuth token acquisition is successful, that indicates successful authentication so why would the POST of the sobject fail?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

It took us 2 hours to figure this out and is basically a faceplant. Posting as answer to save the next person this issue as we didn’t see a similar solution elsewhere

The Boomi instructions are quite clear yet in a spasm of epistemic arrogance, we refused to believe them

We had:

enter image description here

This is WRONG. Instance url means Instance Url Per the instructions
“In AtomSphere create a new HTTP Connection”.

URL = Base URL of your Salesforce org’s REST API. Salesforce instance
(e.g. na7) and version (e.g. v39.0) may differ. For example,
https://na7.salesforce.com/services/data/v39.0/. Remember the
remainder of the API endpoint will be configured in the Operation
component.

You need to have:

enter image description here

where na30 happened to be our pod; yours may be different.

Although the Boomi doc says it uses the SFDC OAuth web server flow, and that flow says that SFDC will return the instanceURL as per:

{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"issued_at":"1278448101416",
"refresh_token":"5Aep8614iLM.Dq661ePDmPEgaAW9Oh_L3JKkDpB4xReb54_
pZebnUG0h6Sb4KUVDpNtWEofWM39yg==",
"instance_url":"https://na30.salesforce.com",
"signature":"CMJ4l+CCaPQiKjoOEwEig9H4wqhpuLSk4J2urAe+fVg=",
"access_token":"00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0R
NBaT1cyWk7TrqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4"}

Boomi seems to ignore this and requires manual specification of the instance URL. As such, if your pod changes, your Boomi connection will break unless you coordinate the change.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x