2024 Jun 13 12:52 PM - edited 2024 Jun 13 12:57 PM
We manage sessions implementing SAP.Middleware.Connector.ISessionProvider. I'm trying to cancel a session invoking SessionChanged event when the RFC call takes too long.
ISessionProvider.SessionChanged.Invoke(new RfcSessionEventArgs(RfcSessionManager.EventType.DESTROYED, sessionId))
I'm testing this cancellation logic using RFC_PING_AND_WAIT on 2 systems:
On the System A, it works as expected. RfcCommunicationCanceledException is thrown from CpicConnection.CpicReceive() with a message "Connection to (xxx.xxx.xxx.xxx,3300) with conversationID [xxxxxxx] was canceled".
However, the cancellation doesn't work on the System B. Besides, RfcFunction.Invoke() doesn't finish even after the wait time of RFC_PING_AND_WAIT passes. According to trace logs, it is stuck after obtaining a lock.
2024-06-13 11:41:50.601 [Thread 9] CpicConnection.CpicCancel requested lock for instance 30880833 of Object: System.Object
How can I make it work on the System B as well? If it is not possible, is there a way to know whether the destination supports the cancellation?
* It occurs on NCo 3.1.3.0, 3.1.4.0 and 3.1.4.3. I have not checked other versions.
Request clarification before answering.
Hello @nobyk ,
this is nothing that is to be discussed here. Please open a ticket, it could be a bug. It definitely requires a deeper analysis with traces of both cases.
Best regards
Markus
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
A standard support ticket in SAP for me on component BC-MID-CON-NCO. See https://me.sap.com/.
Best regards,
Markus
| User | Count |
|---|---|
| 11 | |
| 7 | |
| 6 | |
| 5 | |
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.