Olha eu ressuscitando o tópico... Mas enfim...
Fiquei um tempo tentando formas de modificar as permissões de escrita no Tomcat, todas sem êxito. Por fim, resolvi tentar fazer como uma action retornando o arquivo do RSS. Estava montando o XML na mão, com as próprias classes nativas do Java mesmo, mas resolvi não reinventar a roda e estou usando a Rome pra fazer o trabalho. O arquivo está sendo gerado corretamente, porém o navegador reconhece ele como um XML comum, e não como um feed RSS. Só pra fins de ilustração, estes são trechos do código:
a minha Action:
// Tirei os imports pra enxugar o código...
public class HelloMentawai extends BaseAction {
@Override
public String execute() throws Exception {
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("rss_2.0");
feed.setTitle("Exemplo Feed");
feed.setLink("http://rafaeltoledo.net");
feed.setDescription("Feed de teste");
SyndEntry entry = new SyndEntryImpl();
entry.setTitle("Título Teste");
entry.setLink("http://rafaeltoledo.net/item-inexistente");
entry.setPublishedDate(new Date());
SyndContent description = new SyndContentImpl();
description.setType("text/html");
description.setValue("Conteúdo qualquer...");
entry.setDescription(description);
List<SyndEntry> entries = new ArrayList<SyndEntry>();
entries.add(entry);
feed.setEntries(entries);
SyndFeedOutput out = new SyndFeedOutput();
String xml = out.outputString(feed);
byte[] saida = xml.getBytes();
output.setValue("stream", saida);
return "RSS";
}
}
e no ApplicationManager:
...
public class ApplicationManager extends org.mentawai.core.ApplicationManager {
@Override
public void loadActions() {
ActionConfig ac = new ActionConfig("HelloWorld", HelloMentawai.class);
ac.addConsequence("RSS", new StreamConsequence("text/xml"));
addActionConfig(ac);
}
}
No caso, tentei modificar o parâmetro do StreamConsequence... como disse, "text/xml" ele simplesmente exibe o conteúdo do XML no browser. Tentei colocar "application/rss+xml" mas aí o navegador faz o download do arquivo... alguma sugestão?