Hi Christophe,
I don’t think I can answer that specifically, perhaps someone else has a thought.
However, c_session_log itself is not indicative of a valid session, that is indicating the session is closed and there is a column called termination reason which might give a clue why it was closed.
A valid session would only be in the ap_session_log. If the bu_API user is used in multiple services (for example on different servers), each will have their own session thus you cannot actually rely on just the fact there is an active session for the bu_API user in the ap_session_log.
Say there were two services, each on a different server. If one is shutdown/closed, that would have no impact on the other service/session nor would it be able to ‘switch’ over to it. The session is maintained between a single client and a single server.
What I would do is ensure there is only a single Astea API service running and restart that service along with IISRESET for troubleshooting.
Another thing is if you are using an NLB, make sure the client affinity is enabled so that the same routing is used between the client and server once it is established. If this is not enabled, the next request might be passed to a different server than where the session was original generated.
Hope this helps.
It’s hard to say without knowing what the API is. Most common issue, API is intended to do update, but because the syntax is not correct, backend is trying to create new document but doesn’t have enough information.