Skip to main content

Something I recently learned about with FME is that each HTTPCaller seems to equate to one session - there are most likely a lot of cases where this isn’t true but I had some weird issues recently where a series of calls working intermittently. 

The process was creating a document container and then uploading files into it and then closing the container. 

I used 3 separate HTTPCallers for this. When testing from FME desktop it worked sometimes and others it didn’t work. I spent a tonne of time trying to debug what was wrong in my POST. Finally it seemed like it was working, I published to Server and directly had issues again. 

Looking into the Debug logs I noticed that with each new instance of the HTTPCaller there was a new connection to the service BUT that connection was going to a different IP. The host was using a load balancer to handle API requests. 

Turns out my container was being created on one server and my follow up requests were hitting the other server.

After I fed everything though a single HTTPCaller the problem went away.

Creating a session in python is pretty standard and I was wondering how FME handles sessions. To me it seeems like it’s one session per HTTPCaller.

Has anyone else got any more insight? 

Does the API you’re working with provide you a session token/id/callback or similar to ensure you’re consistently connection correctly?

 

The only thing I can think of would be trying the save cookies option. Not confident it would work, but worth a try?