Fórum

Mostrar XML en portlet (LR 6.1)

Fernando Melero, modificado 7 Anos atrás.

Mostrar XML en portlet (LR 6.1)

New Member Postagens: 10 Data de Entrada: 08/11/11 Postagens Recentes
Buenas tardes.

Estoy intentando hacer un RSS personalizado para un cliente para mostrar los últimos artículos de una categoría concreta y mostrando los campos de estructura en vez de los campos originales de Liferay.
El caso es que he conseguido que devuelva los campos que necesito, pero al mostrar el portlet con state=exclusive, me lo muestra como HTML y no como XML, por tanto no sale ni formateado ni salen las etiquetas que he puesto.
La URL del portlet es algo así:
http://localhost:8080/web/guest/pruebaRSS?p_p_id=RSSNoticias_WAR_RSSNoticiasportlet&p_p_lifecycle=0&p_p_state=exclusive&p_p_state_rcv=1

El código es este:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ page contentType="text/xml" %>
<% response.setContentType("text/xml"); %>
<meta http-equiv="Content-Type" content="application/xml+rss">

<!--?xml version="1.0" encoding="UTF-8"?--> 
<rss version="2.0">

<channel>
	<title>Noticias</title>
	<description>Canal de RSS</description>
	<link>URL LINK
	<author>Prensa</author>
	<pubdate>Mon, 20 Jun 2016 11:09:21 GMT</pubdate>
	<dc:date>2016-06-20T11:09:21Z</dc:date>
	&lt;%
	
	String fieldValue = "";
	Document document = null;
	
	XMLEntry2 xml = new XMLEntry2(); //Esta clase es personalizada y utiliza SAXReader para devolverme un String con el valor del campo de la estructura que le pido
	
	try {
		document = SAXReaderUtil.readURL("http://localhost:8080/c/journal/get_articles?groupId=10179&amp;structureId=11551&amp;delta=10");
	} catch(Exception de) {
		de.printStackTrace();
	}
		Element element = document.getRootElement();
		List<node> nodelist = element.selectNodes("/result-set/result/root");
		
		for(Node article : nodelist){
			
			Node idArticulo = article.selectSingleNode("dynamic-element[@name='reserved-article-id']/dynamic-content");
			
			String titulo = xml.getArticleFieldValue(article, "titulo-h2", "es_ES");
			String texto = xml.getArticleFieldValue(article, "texto-noticia", "es_ES");
			
			out.print("\n<item>");
			
			out.print("\n<title>"+titulo+"</title>");
			out.print("\n<description>"+texto+"</description>");
			
			out.print("\n</item>");
			
		}
	%&gt;
</node></channel>
</rss>


Como veis he hecho diferentes pruebas intentando que la página se muestre en XML pero no hay manera:
&lt;%@ page contentType="text/xml" %&gt;
&lt;% response.setContentType("text/xml"); %&gt;
<meta http-equiv="Content-Type" content="application/xml+rss">


¿Hay alguna manera de que muestre la página como XML? He visto también una opción en el fichero portlet.xml que permite modificar el mime-type pero si lo pongo en application/xml o text/xml la página se queda en blanco y no he encontrado información al respecto.
¿Estoy haciendo algo mal?

¡Agradecería vuestra ayuda!

Saludos
Fernando Melero, modificado 7 Anos atrás.

RE: Mostrar XML en portlet (LR 6.1)

New Member Postagens: 10 Data de Entrada: 08/11/11 Postagens Recentes
Sigo con el mismo problema, ¿nadie tiene información al respecto?

Saludos