11

If someone could oblige:

When you spawn an Outbound Message (my workflow literally says "on every edit", if the last name is not blank...), and it is supposed to hit a URL and send 3 fields (including a Contact ID let's say)...

Can those HTTP calls be BUFFERED on Salesforces end?

And, would anyone know a reason why these calls frequently never (appear) to come through? Our WebDev has a simple PHP page that accepts the Contact ID and runs a process on the web server... but we're noticing 1 out of 7 (frequency varies) of the hits actually register on the web server (which is at NatNet).

Any insight would be appreciated.

If it matters: http://content.markettraders.com/processes/post_to_acct.php (that's the URL being called)

  • Thanks for the help. You've given me the ammo I need, all. ;-) – AMM Oct 5 '12 at 13:11
12

Outbound messaging implements an at least once delivery protocol on top of SOAP, the server will try to send the message until it has been actively acknowledged by the receiver (by returning true in the soap response). The server will back-off the retry interval after each failure.

One thing to be aware of is that a single SOAP message can contain data for upto 100 records, make sure you're processing the entire payload, and not assuming that they'll only be a single record in it.

  • I'm unclear on how I would control that, since this is a Workflow and it simply fires when it should. We noted a couple times it fired and worked immediately. Then several more time it did not (and in fact, came in this morning and saw that hours later, it "caught up") (sigh) – AMM Oct 5 '12 at 13:07
  • the workflow fires and puts a message in a queue to delivered, there's a queue that delivery is attempted from, if it fails its put back in the queue and retried later. – superfell Oct 5 '12 at 15:04
  • 1
    see the docs salesforce.com/us/developer/docs/api/… – superfell Oct 5 '12 at 15:04
10

Three points

  1. Yes, the can be buffered or rather collated, so that if you did a mass update or insert, you'll get up to 100 notifications in a single soap call. Make sure you handle that in your client. (That said, single record updates should result almost immediately in an outbound message being sent.)

  2. Is your workflow rule correct, there isn't a logical flaw in it meaning it doesn't trigger?

  3. Have you check the outbound message queue to see if you have undelivered messages?

I'm in the process of testing my own outbound messaging stuff at the moment and I haven't seen Outbound messages being 'lost' yet. It's always been 2,3 or my client eating the SF message and not informing it of a failure in processing.

  • 1. OHH. I think you just clarified for me what the previous response meant.. thanks. I'll have to talk to web dev about it. 2. Workflow is blindingly simple, no issues there. 3. Did not know it existed (sadly enough). Thanks..... – AMM Oct 5 '12 at 13:09
6

You can monitor the outbound messages which have queued up for failed delivery at Setup > Monitoring > Outbound Messages

  • I'm thankful you and one other turned me onto this item which I did not even know existed. Wow. :-/ Thanks. – AMM Oct 5 '12 at 13:10
  • NP - Cheers mate ! – techtrekker Oct 5 '12 at 13:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.