<?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 Java backed webscript doesn't show up at all in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/java-backed-webscript-doesn-t-show-up-at-all/m-p/292403#M245533</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am following the alfresco wiki's guide to java backed webscripts and cannot get it to work. What's worse, I cannot get as far as generating errors in the logs or otherwise, or a webscript listing in &amp;lt;alfresco&amp;gt;/alfresco/service/index/all.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Other than the wiki example, I am not using an AMP but a jar for my classes. This is because I am bound to adding my webscripts to an existing app that currently builds to a jar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As far as I understand, there are three major steps in creating a java backed webscript:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Create the java class&amp;lt;/li&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;li&amp;gt;Register the bean&amp;lt;/li&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;li&amp;gt;Place the descriptor&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I implemented this as follows. File locations are relative to the jar's root.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;strong&amp;gt;nl/mark/alfresco/myservice/webscript/GetFooTypes.java&amp;lt;/strong&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-java line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;package nl.mark.alfresco.myservice.webscript;&lt;BR /&gt;&lt;BR /&gt;import java.util.HashMap;&lt;BR /&gt;import java.util.Map;&lt;BR /&gt;&lt;BR /&gt;import org.springframework.extensions.webscripts.DeclarativeWebScript;&lt;BR /&gt;import org.springframework.extensions.webscripts.Status;&lt;BR /&gt;import org.springframework.extensions.webscripts.WebScriptRequest;&lt;BR /&gt;&lt;BR /&gt;public class GetFooTypes extends DeclarativeWebScript {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected Map&amp;lt;String, Object&amp;gt; executeImpl(WebScriptRequest req, Status status) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map&amp;lt;String, Object&amp;gt; model = new HashMap&amp;lt;String, Object&amp;gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; model.put("types", "[\"foo\", \"bar\"]");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return model;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;strong&amp;gt;alfresco/extension/templates/webscripts/nl/mark/cacher/footype.desc.xml&amp;lt;/strong&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;webscript&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;shortname&amp;gt;Retrieve a list of foo types associated to a bar type.&amp;lt;/shortname&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;Returns an empty JSON array or a JSON array filled with foo types as Strings, named 'types'.&amp;lt;/description&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url&amp;gt;/mark/cacher/footype?typecode={code}&amp;lt;/url&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authentication&amp;gt;user&amp;lt;/authentication&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;family&amp;gt;Mark cacher&amp;lt;/family&amp;gt;&lt;BR /&gt;&amp;lt;/webscript&amp;gt;&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;&amp;lt;strong&amp;gt;alfresco/extension/mark-context.xml&amp;lt;/strong&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;&lt;BR /&gt;&amp;lt;!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' '&lt;A href="http://www.springframework.org/dtd/spring-beans.dtd" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/dtd/spring-beans.dtd&lt;/A&gt;'&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;beans&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!– Java backed webscripts –&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id="webscript.nl.mark.cacher.footype.get" class="nl.mark.alfresco.myservice.webscript.GetFooTypes"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parent="webscript"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/bean&amp;gt;&lt;BR /&gt;&amp;lt;/beans&amp;gt;&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Finally, this jar is placed in alfresco's WEB-INF/lib folder after which the server is restarted. However, the webscript is not available under its URL (404), and I find no mention of anything related in the (awefully clean) logs. It's also not listed in the webscripts index, not even as failed to load. I feel like I am messing up file locations.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Jun 2013 21:52:49 GMT</pubDate>
    <dc:creator>mtielemans</dc:creator>
    <dc:date>2013-06-26T21:52:49Z</dc:date>
    <item>
      <title>Java backed webscript doesn't show up at all</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-backed-webscript-doesn-t-show-up-at-all/m-p/292403#M245533</link>
      <description>I am following the alfresco wiki's guide to java backed webscripts and cannot get it to work. What's worse, I cannot get as far as generating errors in the logs or otherwise, or a webscript listing in &amp;lt;alfresco&amp;gt;/alfresco/service/index/all.Other than the wiki example, I am not using an AMP but</description>
      <pubDate>Wed, 26 Jun 2013 21:52:49 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-backed-webscript-doesn-t-show-up-at-all/m-p/292403#M245533</guid>
      <dc:creator>mtielemans</dc:creator>
      <dc:date>2013-06-26T21:52:49Z</dc:date>
    </item>
    <item>
      <title>Re: Java backed webscript doesn't show up at all</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-backed-webscript-doesn-t-show-up-at-all/m-p/292404#M245534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Your Java-Backed WebScript is a DeclarativeWebScript and this type of WebScript need to also have a FreeMarker template for the rendition of the output. If you need to manage request and response directly in the Java implementation you need to extend AbstractWebScript.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please take a look at the sample project of Java-Backed Webscripts that allows you to see how to implement your own Java-Backed Web Scripts taking a look at a complete Maven project that implements the wiki examples:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://code.google.com/p/alfresco-java-backed-webscripts-demo/" rel="nofollow noopener noreferrer"&gt;https://code.google.com/p/alfresco-java-backed-webscripts-demo/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This project is also linked in the Alfresco Wiki page Java-Backed WebScripts Samples:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://wiki.alfresco.com/wiki/Java-backed_Web_Scripts_Samples" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/Java-backed_Web_Scripts_Samples&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Jun 2013 09:53:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-backed-webscript-doesn-t-show-up-at-all/m-p/292404#M245534</guid>
      <dc:creator>openpj</dc:creator>
      <dc:date>2013-06-27T09:53:00Z</dc:date>
    </item>
    <item>
      <title>Re: Java backed webscript doesn't show up at all</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-backed-webscript-doesn-t-show-up-at-all/m-p/292405#M245535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Piergiorgio,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks for your reply! It's useful, because I could find very little information about DeclarativeWebscripts, no DeclarativeWebscript specific information, in fact. Odd, if you think how important they are.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, I do have an associated ftl file. The example you linked is the one I too followed. I now edited my project to reflect it more accurately, however.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;alfresco/extension/templates/webscripts/nl/mark/cacher/footype.desc.xml&lt;/STRONG&gt;&lt;SPAN&gt; now looks like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;webscript&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;shortname&amp;gt;Retrieve a list of foo types associated to a bar type.&amp;lt;/shortname&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;Returns an empty JSON array or a JSON array filled with foo types as Strings named 'types'.&amp;lt;/description&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;url&amp;gt;/mark/ztccache/footype.json&amp;lt;/url&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;authentication&amp;gt;user&amp;lt;/authentication&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;format default="json"&amp;gt;extension&amp;lt;/format&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;family&amp;gt;mark myservice cacher&amp;lt;/family&amp;gt;&lt;BR /&gt;&amp;lt;/webscript&amp;gt;&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;footype.get.json.ftl&lt;/STRONG&gt;&lt;SPAN&gt; in the same folder looks like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;${types?string}&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also moved my bean registration out of the existing context file and placed it in &lt;/SPAN&gt;&lt;STRONG&gt;alfresco/module/myservicecache-context.xml&lt;/STRONG&gt;&lt;SPAN&gt; to reflect the example project.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;&lt;BR /&gt;&amp;lt;!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' '&lt;A href="http://www.springframework.org/dtd/spring-beans.dtd" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/dtd/spring-beans.dtd&lt;/A&gt;'&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;beans&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!– Java backed webscripts –&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id="webscript.nl.mark.cacher.footype.get" class="nl.mark.alfresco.myservice.webscript.GetFooTypes"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parent="webscript"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&amp;lt;/beans&amp;gt;&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;All these paths are within the jar file. I'm thinking the problem may be there. After these changes, the result is still the same.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Jun 2013 11:07:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-backed-webscript-doesn-t-show-up-at-all/m-p/292405#M245535</guid>
      <dc:creator>mtielemans</dc:creator>
      <dc:date>2013-06-27T11:07:16Z</dc:date>
    </item>
    <item>
      <title>Re: Java backed webscript doesn't show up at all</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-backed-webscript-doesn-t-show-up-at-all/m-p/292406#M245536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;My webscript descriptor was called &lt;/SPAN&gt;&lt;SPAN style="color:red;"&gt;&lt;STRONG&gt;footype.desc.get.xml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; where it should have been &lt;/SPAN&gt;&lt;SPAN style="color:blue;"&gt;&lt;STRONG&gt;footype.get.desc.xml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Although it will take me a while to look into my eyes in the mirror without shame again, I did learn here. Thanks for thinking along!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Jun 2013 11:28:19 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-backed-webscript-doesn-t-show-up-at-all/m-p/292406#M245536</guid>
      <dc:creator>mtielemans</dc:creator>
      <dc:date>2013-06-27T11:28:19Z</dc:date>
    </item>
  </channel>
</rss>

