Я следую руководству wiki в alfresco по веб-скриптам, поддерживающим java, и не могу заставить его работать. Что еще хуже, я не могу допустить ошибки в журналах или иначе, или список веб-страниц в/alfresco/service/index/all.java backed webscript вообще не отображается
Помимо примера wiki, я не использую AMP, а jar для своих классов. Это связано с тем, что я обязан добавлять свои веб-скрипты в существующее приложение, которое в настоящее время создает банку.
Насколько я понимаю, есть три основных этапа в создании Java поддержке WebScript:
- Создать класс
- Java Регистрация боба
- Место дескрипторе
Я реализовал это следующим образом. Расположение файлов относительно корня jar. нл/знак/на открытом воздухе/MyService/WebScript/GetFooTypes.java
package nl.mark.alfresco.myservice.webscript;
import java.util.HashMap;
import java.util.Map;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.WebScriptRequest;
public class GetFooTypes extends DeclarativeWebScript {
@Override
protected Map<String, Object> executeImpl(WebScriptRequest req, Status status) {
Map<String, Object> model = new HashMap<String, Object>();
model.put("types", "[\"foo\", \"bar\"]");
return model;
}
}
под открытым небом/расширение/шаблоны/webscripts/нл/марка/бинокль/footype.desc.xml
<webscript>
<shortname>Retrieve a list of foo types associated to a bar type.</shortname>
<description>Returns an empty JSON array or a JSON array filled with foo types as Strings, named 'types'.</description>
<url>/mark/cacher/footype?typecode={code}</url>
<authentication>user</authentication>
<family>Mark cacher</family>
</webscript>
под открытым небом/продление/наценка context.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- Java backed webscripts -->
<bean id="webscript.nl.mark.cacher.footype.get" class="nl.mark.alfresco.myservice.webscript.GetFooTypes"
parent="webscript">
</bean>
</beans>
Этот файл mark-context.xml
содержит и другие регистрации, которые отображаются правильно.
Наконец, этот фляга помещается в папку WEB-INF/lib в alfresco, после которой сервер перезапускается. Тем не менее, веб-сайт недоступен по его URL-адресу (404), и я не нахожу упоминания о чем-либо, связанном с (значимо чистыми) журналами. Он также не указан в индексе веб-скриптов, даже если он не загружен. Я чувствую, что я запутываю файлы.
Быстрый догадка (нет проточной Alfresco здесь): переименовать дескриптор «footype.get.desc.xml» –