2016-06-01 9 views
0

ich versuche, ein java basiertes webscript in alfresco zu laufen. In meinem ersten Schritt möchte ich nur "Hallo Welt" mit der Antwort Ausgangsstrom drucken.Das Hauptproblem, das ich gegenüberstelle, ist, dass der Code nicht ausgeführt wird.Ich habe versucht, Breakpoints im Code zu setzen, aber sie nicht auslösen, bekomme ich nur die Ebene ftl als Ergebnis.alfresco webscript nicht ausführenden code

Sollte die abstractWebscript-Antwort über das ftl priorisieren? Kann mir jemand sagen, was ich falsch mache oder ob dies das natürliche Verhalten des abstrakten Webskripts ist?

Dies ist die Java-Klasse:

package com.beam.gbsprocs.tag.webscript; 
import java.io.IOException; 
import java.io.PrintWriter;  

import org.springframework.extensions.webscripts.AbstractWebScript; 
import org.springframework.extensions.webscripts.WebScriptRequest; 
import org.springframework.extensions.webscripts.WebScriptResponse; 

public class GbsprocsTagWebscript extends AbstractWebScript { 



    @Override 
    public void execute(WebScriptRequest req, WebScriptResponse res) 
     throws IOException { 

    PrintWriter out = new PrintWriter(res.getOutputStream()); 

    out.println("hello world"); 
    out.close(); 

    } 

} 

Dies ist die Beschreibungsdatei

<webscript> 
<shortname>Perform GBSprocs Tag completion</shortname> 
<description>Export gives a json list of posible tag values </description> 
<url>/gbsprocs/tag</url> 
<authentication>user</authentication> 
</webscript> 

Bean-Deklaration (in der Ausgabe hinzugefügt):

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" 

    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
    http://www.springframework.org/schema/util 
    http://www.springframework.org/schema/util/spring-util-2.5.xsd"> 

<bean id="com.beam.gbsprocs.tag.webscript.GbsprocsTagWebscript.get" 
    class="com.beam.gbsprocs.tag.webscript.GbsprocsTagWebscript" 
     parent="webscript"> 


</bean> 

</beans> 

Und die FTL wie folgt aussieht:

Hello from ftl. 

Executing Ergebnis: rest client response

+0

Wo ist der Frühling Bohne Definition für Ihre WebScript Klasse hinzufügen? – Gagravarr

+0

Wie weiß Ihr Webskript, welche Java-Klasse aufgerufen werden soll? Wo haben Sie Ihren XML-Deskriptor mit GbsprocsTagWebscript.java verbunden? – Lista

Antwort

1

Verwenden org.springframework.extensions.webscripts.DeclarativeWebScript statt AbstractWebScript

und @Override Methode Map executeImpl geschützt (WebScriptRequest req, Status-Status, Cache-Cache), die zurückgibt Ihre Modell FTL

Und auch benötigen Sie Bohne deffenition auf Ihrer Klasse

+0

Ich weiß, dass es so funktionieren kann, aber ich frage mich, ob es möglich ist, es mit einem AbstractWebscript zu tun. (Ich habe meine Spring Bean Definition hinzugefügt, um alle Daten zu haben) –