JSLEE Discussions
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Handling UserAbort event in an interceptor
Forum Index » JAIN SLEE Discussions
Author Message
wsourdin


Joined: 01/02/2017 04:31:57
Messages: 2
Offline

Hi,

I'm developing a CAPV1/2 Service with an input interceptor.

The interceptor has to handle IDP, ERB, UserAbort/ProviderAbort events. It works fine with IDP and ERB but, it seems, I can't retrieve UserAbort event in my interceptor, even if the event arrives in my service and I use the exact same method to retrieve the event.

We can't retrieve an UserAbort event in an interceptor ? Or do I have to use another event ? Or do you have any other solutions ?

I saw the DownCall event, but I didn't figure out how to use it ?

Thanks !

stevena


Joined: 27/03/2008 13:43:16
Messages: 274
Location: Cambridge, UK
Offline

Hi,

Interceptors only see dialog primitives that contain component messages like IDP and ERB. Dialog primitives like UserAbort events are not delivered to interceptors, so there's no way for you to handle these events in an interceptor.

Steven Adams
Senior Software Engineer
OpenCloud
wsourdin


Joined: 01/02/2017 04:31:57
Messages: 2
Offline

Hi and thanks for the answer!

Is there any tricks, even dirty, I can use to receive an event on my interceptor when I receive a UserAbort ? Via the composition maybe ? I really need to receive something on my Interceptor when there is an UserAbort/ProviderAbort ?

Just out of curiosity, what the point in blocking dialog primitive events in interceptor?

Thanks
stevena


Joined: 27/03/2008 13:43:16
Messages: 274
Location: Cambridge, UK
Offline

Unfortunately no, there are no tricks available to change this behaviour - the code that invokes interceptors only looks at primitives containing component events and skips over other events. It's not configurable.

Only composition services can receive UserAbort/ProviderAbort, so if there's some way you could re-implement your interceptor as a proper service that is an option. If not, then sorry...

The reason for the current behaviour is historical. When interceptors were first implemented they were intended only to be able to change component event parameters, things like changing service keys or address strings. There was no intention that they should be able to change the actual flow of dialog primitives, thus events like Close and UserAbort were filtered out. In a more recent release of SIS, the ability to change dialog close behaviour on the outbound path was added. It's been recognised that it would be great if interceptors could potentially intercept any message and have a lot more control over modifying the signalling flow, eg. to add or remove entire dialog primitives, but ultimately it comes down to a resourcing issue.

Regards,
Steve

Steven Adams
Senior Software Engineer
OpenCloud
 
Forum Index » JAIN SLEE Discussions
Go to:   
Powered by JForum 2.1.8 © JForum Team