<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Webscript Exception Handler in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285767#M238897</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;In web scripts, you can also throw WebScriptException passing the appropriate status code and the relevant message.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Web Script framework will render the default response template for the status code you have provided.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Just an example - &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, "Mandatory parameters not provided");&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 18 Jun 2015 12:51:00 GMT</pubDate>
    <dc:creator>romschn</dc:creator>
    <dc:date>2015-06-18T12:51:00Z</dc:date>
    <item>
      <title>Webscript Exception Handler</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285761#M238891</link>
      <description>Hello!I want to create an ExceptionHandler or Interceptor to handle any Exception, which got thrown in the java-backed-webscript (in execute(…) function), to prepare proper error messages for the response.Has Alfresco some build-in methods or annotations to handle this? If not, how could i achieve t</description>
      <pubDate>Wed, 17 Jun 2015 06:00:59 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285761#M238891</guid>
      <dc:creator>alfrescot3ster</dc:creator>
      <dc:date>2015-06-17T06:00:59Z</dc:date>
    </item>
    <item>
      <title>Re: Webscript Exception Handler</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285762#M238892</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Could you please share more details about your implementation. Have you written a common controller and from there invoking individual web scripts? Need to have more details.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Jun 2015 07:24:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285762#M238892</guid>
      <dc:creator>romschn</dc:creator>
      <dc:date>2015-06-17T07:24:06Z</dc:date>
    </item>
    <item>
      <title>Re: Webscript Exception Handler</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285763#M238893</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;public class GetExtendedPersonsServiceGet extends AbstractWebScript {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private ExtendedPersonService extendedPersonService;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;lt;String, List&amp;lt;JsonStructure&amp;gt;&amp;gt; extendedPersons = extendedPersonService.getExtendedPersons();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res.setContentType("application/json");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res.getWriter().write(new Gson().toJson(extendedPersons));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public ExtendedPersonService getExtendedPersonService() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return extendedPersonService;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void setExtendedPersonService(ExtendedPersonService extendedPersonService) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.extendedPersonService = extendedPersonService;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now I want to catch any exception, which will be thrown inside the execute() method and handle a proper response like a error message instead of the Map. And this should be done in all webscripts.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I could do something like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;try{&lt;BR /&gt;Map&amp;lt;String, List&amp;lt;JsonStructure&amp;gt;&amp;gt; extendedPersons = extendedPersonService.getExtendedPersons();&lt;BR /&gt;&lt;BR /&gt;res.setContentType("application/json");&lt;BR /&gt;res.getWriter().write(new Gson().toJson(extendedPersons));&lt;BR /&gt;}catch(Exception ex){&lt;BR /&gt;res.getWriter().write("ERROR: " + ex.getMessage());&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But I don't want to write in all my webscripts try-catch. I want to add an Annotation like '@HandleException' to the execute method(), which handles all things central.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I found Spring AOP, but I don't know if this is the correct way.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Jun 2015 11:17:20 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285763#M238893</guid>
      <dc:creator>alfrescot3ster</dc:creator>
      <dc:date>2015-06-17T11:17:20Z</dc:date>
    </item>
    <item>
      <title>Re: Webscript Exception Handler</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285764#M238894</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am using Spring AOP now. It looks quite good, but alfresco giving me transaction exceptions and hibernate-context transactionService not set exceptions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;beans xmlns="&lt;A href="http://www.springframework.org/schema/beans" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/beans&lt;/A&gt;"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:xsi="&lt;A href="http://www.w3.org/2001/XMLSchema-instance" rel="nofollow noopener noreferrer"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/A&gt;" &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:aop="&lt;A href="http://www.springframework.org/schema/aop" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/aop&lt;/A&gt;"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;xsi:schemaLocation="&lt;A href="http://www.springframework.org/schema/beans" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/beans&lt;/A&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;A href="http://www.springframework.org/schema/beans/spring-beans-3.2.xsd" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/beans/spring-beans-3.2.xsd&lt;/A&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;A href="http://www.springframework.org/schema/aop" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/aop&lt;/A&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;A href="http://www.springframework.org/schema/aop/spring-aop-3.2.xsd" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/aop/spring-aop-3.2.xsd&lt;/A&gt; "&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;aop:aspectj-autoproxy /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;bean id="exceptionHandlerAspect" class="xxx.ExceptionHandler" /&amp;gt;&lt;BR /&gt;&amp;lt;/beans&amp;gt;&lt;BR /&gt;&lt;BR /&gt;@Aspect&lt;BR /&gt;public class ExceptionHandler {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@AfterThrowing(pointcut="execution(* xxx.webscript.*.execute(..))", throwing = "ex")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void handleError(Throwable ex) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("I DID IT: " + ex.getMessage());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;He loads this Spring Aspect perfectly, but the server logs this exceptions:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;Caused by: org.springframework.beans.factory.BeanCreationException: Error creati&lt;BR /&gt;ng bean with name 'retryingTransactionHelper' defined in class path resource [al&lt;BR /&gt;fresco/core-services-context.xml]: Cannot resolve reference to bean 'transaction&lt;BR /&gt;Service' while setting bean property 'transactionService'; nested exception is o&lt;BR /&gt;rg.springframework.beans.factory.BeanCreationException: Error creating bean with&lt;BR /&gt; name 'transactionService' defined in class path resource [alfresco/core-service&lt;BR /&gt;s-context.xml]: Cannot resolve reference to bean 'transactionManager' while sett&lt;BR /&gt;ing bean property 'transactionManager'; nested exception is org.springframework.&lt;BR /&gt;beans.factory.BeanCreationException: Error creating bean with name 'transactionM&lt;BR /&gt;anager' defined in class path resource [alfresco/hibernate-context.xml]: Invocat&lt;BR /&gt;ion of init method failed; nested exception is org.alfresco.error.AlfrescoRuntim&lt;BR /&gt;eException: 05180000 A transaction has not be started for method 'getConnectionP&lt;BR /&gt;rovider' on org.hibernate.engine.SessionFactoryImplementor&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.BeanDefinitionValueResolver&lt;BR /&gt;.resolveReference(BeanDefinitionValueResolver.java:334)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.BeanDefinitionValueResolver&lt;BR /&gt;.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.AbstractAutowireCapableBean&lt;BR /&gt;Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1418)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.AbstractAutowireCapableBean&lt;BR /&gt;Factory.populateBean(AbstractAutowireCapableBeanFactory.java:1159)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.AbstractAutowireCapableBean&lt;BR /&gt;Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.AbstractAutowireCapableBean&lt;BR /&gt;Factory.createBean(AbstractAutowireCapableBeanFactory.java:458)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb&lt;BR /&gt;ject(AbstractBeanFactory.java:293)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr&lt;BR /&gt;y.getSingleton(DefaultSingletonBeanRegistry.java:223)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe&lt;BR /&gt;an(AbstractBeanFactory.java:290)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean&lt;BR /&gt;(AbstractBeanFactory.java:191)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.BeanDefinitionValueResolver&lt;BR /&gt;.resolveReference(BeanDefinitionValueResolver.java:328)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; … 48 more&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Someone has ANY idea???&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jun 2015 08:23:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285764#M238894</guid>
      <dc:creator>alfrescot3ster</dc:creator>
      <dc:date>2015-06-18T08:23:00Z</dc:date>
    </item>
    <item>
      <title>Re: Webscript Exception Handler</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285765#M238895</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;In general you can't handle exceptions within webscripts.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Alfresco has an open transaction and expects and needs the exception to complete the rollback.&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You may be able to catch and rethrow the exception.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can probably also write a custom error response template for the webscript that will have the exception available upon it.&amp;nbsp;&amp;nbsp; However it is a long time since I tried doing that.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jun 2015 10:26:38 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285765#M238895</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2015-06-18T10:26:38Z</dc:date>
    </item>
    <item>
      <title>Re: Webscript Exception Handler</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285766#M238896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ah okay '.. needs the exception to complete the rollback.', that was the keypoint for me. thanks. &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://connect.hyland.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I will do a standard try-catch thing and response a custom error message to the frontend. sometimes it's easier to use the standard way.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jun 2015 11:30:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285766#M238896</guid>
      <dc:creator>alfrescot3ster</dc:creator>
      <dc:date>2015-06-18T11:30:00Z</dc:date>
    </item>
    <item>
      <title>Re: Webscript Exception Handler</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285767#M238897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;In web scripts, you can also throw WebScriptException passing the appropriate status code and the relevant message.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Web Script framework will render the default response template for the status code you have provided.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Just an example - &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, "Mandatory parameters not provided");&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jun 2015 12:51:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285767#M238897</guid>
      <dc:creator>romschn</dc:creator>
      <dc:date>2015-06-18T12:51:00Z</dc:date>
    </item>
    <item>
      <title>Re: Webscript Exception Handler</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285768#M238898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have tried several ways yet:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Throwing exceptions like 'NullPointerException' and catch in the webscript, this is not working, because of Transaction Exception. It looks like Alfresco recognizes the throw of exceptions and won't do anything afterwards (even if I catch it or rethrow it).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Now I tried it with custom exceptions (extend Exception), this is working perfectly (throwing it anywhere inside the webscript and catch it, to response a custom error message). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is now: this does not help me a lot, because I have to catch the 'real' exceptions, which are occur at runtime to render a proper response.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The way with default response templates does not help me, because I need the real exception to get information about it. I don't want to render an error template like "a error occured".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Jun 2015 06:33:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscript-exception-handler/m-p/285768#M238898</guid>
      <dc:creator>alfrescot3ster</dc:creator>
      <dc:date>2015-06-19T06:33:00Z</dc:date>
    </item>
  </channel>
</rss>

