Exibir PDF com primefaces. [RESOLVIDO]

7 respostas
G

Olá, estou com problema para exibir documentos pdf´s, utilizo a marcação <p:media> para visualização, mais na hora de renderizar esta dando erro. Será que alguem pode me ajudar. O meu bean e meu xhtml são esse:

package br.com.hana.pgl.bean;

import java.io.ByteArrayInputStream;
import java.io.Serializable;
import java.util.ArrayList;

import javax.annotation.PostConstruct;
import javax.el.ExpressionFactory;
import javax.el.MethodExpression;
import javax.faces.FacesException;
import javax.faces.bean.ManagedBean;

import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.MethodExpressionActionListener;
import javax.inject.Named;

import org.primefaces.component.menuitem.MenuItem;
import org.primefaces.component.submenu.Submenu;
import org.primefaces.model.DefaultMenuModel;
import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.MenuModel;

import br.com.hana.model.Document;
import br.com.hana.pgl.dao.DocumentDAO;

@ManagedBean(name="documentosBean")
@Named
@SessionScoped
public class DocumentosBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -82329838599882278L;
	/**
	 * 
	 */

	private ArrayList<Document> csis;
	private String requerimento;
	private DefaultStreamedContent csi;
	private DefaultStreamedContent nf;
	private boolean flag;
	private int index;

	@PostConstruct
	public void init() {

		System.out.println(" Bean executado! ");
		flag = false;
		index = 0;
		requerimento = FacesContext.getCurrentInstance().getExternalContext()
				.getRequestParameterMap().get("req");

	}

	public ArrayList<Document> getCsis() {
		return csis;
	}

	public void setCsis(ArrayList<Document> csis) {
		this.csis = csis;

	}

	public void getDocumentNf() {

		String reqAux = FacesContext.getCurrentInstance().getExternalContext()
				.getRequestParameterMap().get("req");

		if (reqAux != null && requerimento != null
				&& !reqAux.equals(requerimento)) {
			requerimento = reqAux;
			index = 0;

		}

		System.out.println("Requrimento" + requerimento);
		if (requerimento == null)
			requerimento = FacesContext.getCurrentInstance()
					.getExternalContext().getRequestParameterMap().get("req");
		// System.out.println("ProcessosBean.getDocumentNf() " + requerimento);

		if (requerimento != null) {
			ArrayList<Document> pdf = new DocumentDAO().getNF(requerimento);

			if (pdf.size() > 0) {
				try {
					System.out.println("ProcessosBean.getDocumentNf()");
					this.nf = new DefaultStreamedContent(
							new ByteArrayInputStream(pdf.get(0).getDocument()),
							"application/pdf");
				} catch (Exception e) {
					throw new FacesException(e);
				}
			}
		}

	}

	public void getDocumentCsi() {
		String reqAux = FacesContext.getCurrentInstance().getExternalContext()
				.getRequestParameterMap().get("req");

		if (reqAux != null && requerimento != null
				&& !reqAux.equals(requerimento)) {
			requerimento = reqAux;
			index = 0;

		}

		if (requerimento == null)
			requerimento = FacesContext.getCurrentInstance()
					.getExternalContext().getRequestParameterMap().get("req");

		if (requerimento != null) {
			ArrayList<Document> pdf = new DocumentDAO().getCSI(requerimento);
			this.csis = pdf;
			createMenu();
			if (pdf.size() > 0) {
				try {
					System.out.println("ProcessosBean.getDocumentCsi() index:"
							+ index);
					this.csi = new DefaultStreamedContent(
							new ByteArrayInputStream(pdf.get(index)
									.getDocument()), "application/pdf");
				} catch (Exception e) {
					throw new FacesException(e);
				}
			}
		}

	}

	public void getDocumentNf(String req) {

		System.out.println("ProcessosBean.getDocumentNf() " + req);
		if (req != null) {
			ArrayList<Document> pdf = new DocumentDAO().getNF(req);

			if (pdf.size() > 0) {
				try {
					System.out.println("ProcessosBean.getDocumentNf()");
					this.nf = new DefaultStreamedContent(
							new ByteArrayInputStream(pdf.get(0).getDocument()),
							"application/pdf");
				} catch (Exception e) {
					throw new FacesException(e);
				}
			}
		}

	}

	public void getDocumentCsi(String req) {

		if (req != null) {
			ArrayList<Document> pdf = new DocumentDAO().getCSI(req);
			this.csis = pdf;
			createMenu();
			if (pdf.size() > 0) {
				try {

					System.out.println("ProcessosBean.getDocumentCsi() ind:"
							+ index);
					this.csi = new DefaultStreamedContent(
							new ByteArrayInputStream(pdf.get(index)
									.getDocument()), "application/pdf");
				} catch (Exception e) {
					throw new FacesException(e);
				}
			}
		}

	}

	public void changeDocumentCsi(ActionEvent event) {

		MenuItem selectedMenuItem = (MenuItem) event.getComponent();
		flag = true;

		String val = (String) selectedMenuItem.getValue();

		index = Integer.parseInt(val.split(" ")[1].replaceAll(":", "").trim());
		System.out.println("ChangeDocument" + requerimento + "tam docs");

		index--;

		if (index < csis.size()) {
			csi = new DefaultStreamedContent(new ByteArrayInputStream(csis.get(
					index).getDocument()), "application/pdf");

		}

	}

	private MenuModel model;

	public MenuModel getModel() {
		return model;
	}

	public void setModel(MenuModel model) {
		this.model = model;
	}

	public void createMenu() {

		model = new DefaultMenuModel();

		Submenu submenu = new Submenu();
		submenu.setLabel("Documentos");

		int aux;

		for (int i = 0; i < this.csis.size(); i++) {

			aux = i + 1;
			MenuItem item = new MenuItem();
			item.setValue("CSI " + aux + ": " + csis.get(i).getId());
			item.addActionListener(createActionListener("#{documentosBean.changeDocumentCsi}"));
			item.setUpdate("form");
			submenu.getChildren().add(item);
		}

		model.addSubmenu(submenu);

	}

	public DefaultStreamedContent getCsi() {

		//if (!flag)
			getDocumentCsi();
		// System.out.println(" getNF! " + nf.toString());
		flag = false;
		// System.out.println(" getCSI! " + csis.size());
		return csi;
	}

	public void setCsi(DefaultStreamedContent csi) {
		this.csi = csi;
	}

	public DefaultStreamedContent getNf() {

		//if (!flag)
			getDocumentNf();
		// System.out.printflag = false;
		return nf;
	}

	public void setNf(DefaultStreamedContent nf) {
		this.nf = nf;
	}

	public MethodExpression createMethodExpression(String action,
			Class<?> valueType, Class<?>[] expectedParamTypes) {
		MethodExpression methodExpression = null;
		try {
			ExpressionFactory factory = FacesContext.getCurrentInstance()
					.getApplication().getExpressionFactory();
			methodExpression = factory.createMethodExpression(FacesContext
					.getCurrentInstance().getELContext(), action, valueType,
					expectedParamTypes);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return methodExpression;
	}

	public MethodExpressionActionListener createActionListener(
			String actionListener) {

		Class[] args = new Class[] { ActionEvent.class };
		return new MethodExpressionActionListener(this.createMethodExpression(
				actionListener, Void.TYPE, args));

	}

	public void test() {
		getDocumentCsi(this.requerimento);
		getDocumentNf(this.requerimento);
		System.out.println("teste " + this.requerimento);

	}

	public String getRequerimento() {
		return requerimento;
	}

	public void setRequerimento(String requerimento) {
		this.requerimento = requerimento;
	}

}

o meu Xhtml é esse:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui">
<h:head>
	<title>Visualização de Documentos</title>
	<style>
.top {
	vertical-align: top;
}

td {
	vertical-align: top;
}
</style>

</h:head>
<h:body>
<p:ajaxStatus style="width:16px;height:16px;">  
    <f:facet name="start">  
        <h:graphicImage value="/image/ajax-loader.gif" />  
    </f:facet>  
      
    <f:facet name="complete">  
        <h:outputText value="" />  
    </f:facet>  
</p:ajaxStatus> 
	<h:form id="form">

		<h:panelGrid id="display" columns="3" cellpadding="4" style="margin:0 auto; ">
			<p:column>
				<p:media id="panelNf" value="#{documentosBean.nf}" player="pdf"
					width="550px" height="700px" ajax="false" />

		

			</p:column>
			<p:column>
				<p:media id="panelCsi" value="#{documentosBean.csi}" player="pdf"
					width="550px" height="700px" ajax="false" />

		
			</p:column>
			<p:column filterPosition="top" style="vertical-align:top;">
				<p:menu model="#{documentosBean.model}" ajax="false"
					style="vertical-align:top; width:195px" />


			</p:column>
		</h:panelGrid>
	
	</h:form>

</h:body>
</html>

Este é o erro que está sendo disparado:

Jan 28, 2013 4:57:10 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
Grave: Error Rendering View[/fiscal/ProcessoView.xhtml]
java.lang.IllegalArgumentException: pdf is not a valid media player type
	at org.primefaces.component.media.player.MediaPlayerFactory.getPlayer(MediaPlayerFactory.java:52)
	at org.primefaces.component.media.MediaRenderer.resolvePlayer(MediaRenderer.java:119)
	at org.primefaces.component.media.MediaRenderer.encodeEnd(MediaRenderer.java:41)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:309)
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:437)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:286)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Jan 28, 2013 4:57:10 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() for servlet [Faces Servlet] in context with path [/PGLweb] threw exception [pdf is not a valid media player type] with root cause
java.lang.IllegalArgumentException: pdf is not a valid media player type
	at org.primefaces.component.media.player.MediaPlayerFactory.getPlayer(MediaPlayerFactory.java:52)
	at org.primefaces.component.media.MediaRenderer.resolvePlayer(MediaRenderer.java:119)
	at org.primefaces.component.media.MediaRenderer.encodeEnd(MediaRenderer.java:41)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:309)
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:437)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:286)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Eu já adicionei este trecho no web.xml

pdf
application/pdf

Já faz um tempinho que eu estou neste erro, se alguém poder me ajudar ficarei grato.

7 Respostas

D

Algo me diz que tem alguma configuração errada no SO e não no primefaces…

Grave: Error Rendering View[/fiscal/ProcessoView.xhtml]  
java.lang.IllegalArgumentException: pdf is not a valid media player type
G

Obrigado pela resposta drsmachado, este projeto estava usando JBOSS weld e estava funcionando, agora como eu tive que integrar esta parte do projeto acabei trocando pelo spring, retirei todas as referencias do WELD, mas mesmo assim o erro persiste, você tem alguma dica de quais são essas configurações no SO que vc se refere?

grato

D

Por alguma razão o JSF está interpretando que o aplicativo padrão para arquivos PDF está definido como Media Player…

G

Dei uma analisada no projeto e percebi que quando eu defino o tipo pdf para a marcação p:media (<p:media id=“panelNf” player = “pdf” value="#{documentosBean.nf}" width=“550px” height=“700px” ajax=“true” />), o @PostConstruct não funciona, então o componente não sabe o tipo que deve ser exibido, alguém tem alguma ideia de como definir o tipo PDF para o p:media?? frizando que eu já defini este tipo no web.xml, já faz um tempo que estou persistindo neste erro, se alguém me ajudar ficarei grato…

D

Só uma pergunta, por que p:media?
Se você pretende baixar, creio que o p:download seja melhor, não?
Eu acho que seria mais adequado

G

Olá drsmachado, eu preciso exibir este pdf no browser, são dois pdf que devem ser exibidos na tela, eu tinha implementado em um projeto separado, e estava funcionando, só que agora ele não funciona mais, percebi que o p:media não encontra o tipo pdf e por isso esta tenta usar o media player, já especifiquei o tipo no web.xml mais mesmo assim não funciona…

G

Depois de alguns teste descobri que o problema era a versão do primefaces, a versão 3.2 não tem suporte para o formato pdf, troquei pela versão 3.4 e o problema foi solucionado…

Criado 28 de janeiro de 2013
Ultima resposta 29 de jan. de 2013
Respostas 7
Participantes 2