Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

Repository Service Exception Issue

Avatar

Former Community Member
I am using Read Resource Content operation in repository service in one of our core processes. Its being used to pull XSL file from the repository.

I have used this lightening bolt to catch com.adobe.repository.RepositoryException exception. As per workbench documentation, this exception will be thrown when an error occurs while retrieving the item from the repository. But whenever a file which process is trying to pull is not available in the repository, exception is not being caught through this lightning Bolt.



I need to have more insight around this as I am getting general unhandled exception (DSC: Invocation Error) thrown in this case which leads to no clue about what went wrong in the process.



Appreciate your help in regard. Thank you.
11 Replies

Avatar

Level 10
Which exception are you trying to catch?



Try to catch the generic SYSTEM EXCEPTION and see if it catches it.



Jasmin

Avatar

Former Community Member
Thanks for the quick reply Jasmin.



That was my first thought SYSTEM EXCEPTION should catch everything but surprising its not cathing anything.



Well I tried both SYSTEM EXCEPTION and com.adobe.repository.RepositoryException(Only two are available). Both are not cathing any exception when file is missing in the respository. I just get the unhandled exception from LiveCycle -



ALC-DSC-003-000: com.adobe.idp.dsc.DSCInvocationException: Invocation error



any other thoughts around this?

Avatar

Level 10
Unfortunately, it looks like a bug with that component. I would strongly suggest to log it with support.



Sorry,



Jasmin

Avatar

Former Community Member
Not a Problem Jasmin. At least now I know I was not going in the wrong direction.



Thanks for your help.



Gaurav.

Avatar

Level 10
That's not going to help you for now, but I just tried it in the next release of the product, which is in Beta right now, and it works fine.



Jasmin

Avatar

Level 10
I have a potential workaround for you.



There is this Exception event you can use under the Events view.



Create a new process and drag the Exception event to it and make it a Start Point.



Once you've activated this process, the exception catcher should catch any exception being thrown. This way you can send a notification or something.



Jasmin

Avatar

Former Community Member
Thanks for the suggestion Jasmin.



I have couple of questions about the usage of this event. I already have one process which has this respository service being used in it. my process has already one starting point in it. Shall I drop it in my process and make this event as starting point?



Also when I drop this event and make it starting point, i get a big dialogue box to put some data in it. I am not sure what to put in there.



Thanks

-Gaurav.

Avatar

Level 10
I would have a separate process for you event catcher. They don't need to be on the same process.



The dialogue box if for configuring two things:



1- A filter that allows you to catch only exceptions of a specific type.

If you expand the Exception tree under 'Filter Keys Data Set', and double click on one of the property (i.e. Fault Name), this will allow you to only catch events with a Fault Name that you set.



2- A process data map, that allow you to put some of the Exception property (Fault Name, Source, Message) into local process variables. Don't forget to make the process variable to your local process as 'Input' for them to populate properly.



Jasmin

Avatar

Former Community Member
I undestood the event concept. Thanks! I made one separate process named catchException and dropped this exception event in it making it start point. I did not populate anything in the dialogue box which popped up since I don't want to filter any exception and at this point no data needs to be passed back to the process.



My next question is how to tie this catchException process with my original process which has repository service used in. I need to catch repository service process in my main process.



-Gaurav.

Avatar

Level 10
You don't tie it. Once the process is activated it will catch all exceptions being thrown by LiveCycle from any process.



That's why a filter my be a good idea.



Jasmin

Avatar

Former Community Member
Thanks for your help Jasmin. I still have some issues with it. I will keep on trying to find the best available solutions. Thanks!