Get a first look at what's coming. The Developer Passport Australia Release Preview kicks off March 12. Dive in! 

outbound REST, MID server, timeout despite result in the ECC Queue

steven carty
Kilo Explorer

On Kingston, I have an outbound REST service going through a MID server. Although I can see the result in the ECC Queue within a few seconds, request.execute() (and executeAsync) timeout:

com.glide.ecc.ECCResponseTimeoutException: No response for ECC message request with sysid=03f4d5b1dbf713004a36f81d0f961988 after waiting for 60 seconds in ECC Queue

find_real_file.png

The service  works using Background Scripts and On Demand  scheduled jobs, but not from a business rule. How can I prevent the timeout?  The ECC response only takes 2 seconds.

Thanks.

9 REPLIES 9

I never did. I am still curious if there is a solution?

davidmcdonald
Kilo Guru

Hi Stephen,

I'm not sure if you found a solution to this problem, however I believe that I've encountered the same problem and found my way around it.

If you're sending an outbound REST request out via the MID server, I found that it fails if you do not set an ECC Correlator on the request. After I set this in the script doing the outbound request, it started working for me.

myRestReqest.setEccCorrelator("some_unique_identifier");

Hope this helps!

I am having the same issue. Although we are trying to check every possible cause for the outbound request to go out via a midserver to a 3rd party endpoint. Can you provide step by step where and how did you incorporate this method in your script? Thanks

tantony
Mega Guru

I have the same issue .Can you give more details about the "some_unique_identifier". I understand this is a business rule on ecc_queue table. I dont see any documentation on this or an OOB business rule for this

 

You just need to set this to something unique.

If in doubt, I'd recommend gs.generateGUID() to create a big unique string.

var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get");
sm.setEccCorrelator(gs.generateGUID());
sm.setMIDServer("my_mid_server");
sm.execute();