Erro com ireport

2 respostas
S

olá pessoal estou tentando gerar um pdf, com dados vindo do banco de dados, o usuario entra no sistema faz o cadastro primeiro o sistema grava no banco as informações isso está ok no sistema, depois disso na mesma logic ele tem que gerar um arquivo pdf com esses dados gravados. mas está lançando essa exceção.

java.lang.NullPointerException

at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:176)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)

at java.io.ObjectInputStream.readSerialData(Unknown Source)

at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.io.ObjectInputStream.readObject0(Unknown Source)

at java.io.ObjectInputStream.defaultReadFields(Unknown Source)

at java.io.ObjectInputStream.readSerialData(Unknown Source)

at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.io.ObjectInputStream.readObject0(Unknown Source)

at java.io.ObjectInputStream.readArray(Unknown Source)

at java.io.ObjectInputStream.readObject0(Unknown Source)

at java.io.ObjectInputStream.defaultReadFields(Unknown Source)

at java.io.ObjectInputStream.readSerialData(Unknown Source)

at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.io.ObjectInputStream.readObject0(Unknown Source)

at java.io.ObjectInputStream.defaultReadFields(Unknown Source)

at java.io.ObjectInputStream.readSerialData(Unknown Source)

at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.io.ObjectInputStream.readObject0(Unknown Source)

at java.io.ObjectInputStream.readObject(Unknown Source)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:88)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:515)

at br.com.unimedseguros.saude.reembolso.jasper.ReembolsoPDF.geraPDF(ReembolsoPDF.java:36)

at br.com.unimedseguros.saude.reembolso.jasper.ReembolsoPDF.addReembolso(ReembolsoPDF.java:24)

at br.com.unimedseguros.saude.reembolso.logic.ReembolsoLogic.gera(ReembolsoLogic.java:74)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:117)

at org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:37)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at br.com.unimedseguros.saude.reembolso.dao.DaoInterceptor.intercept(DaoInterceptor.java:14)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:90)

at org.vraptor.core.DefaultController.execute(DefaultController.java:42)

at org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Unknown Source)

essa é a classe que gera o pdf por arry de bytes
public class ReembolsoPDF {

private static final String CAMINHO_JASPER = "caminho"; 
private static final String JASPER = "arquivo.jasper";

Reembolso reembolso = null;
JasperPrint print = null;

public void addReembolso(Reembolso reembolso) {
	this.reembolso = reembolso;

	geraPDF();
}

private void geraPDF() {
	ArrayList<Reembolso> reembolsos = new ArrayList<Reembolso>();
	reembolsos.add(reembolso);

	ReembolsoDataSource reembolsoDataSource = new ReembolsoDataSource(reembolsos);

	HashMap parametros = null;

	try {
		print = JasperFillManager.fillReport(CAMINHO_JASPER + JASPER, null , reembolsoDataSource );
	} catch (JRException e) {
		e.printStackTrace();
	}
}

public ByteArrayOutputStream writeToByteArray() {
	ByteArrayOutputStream stream = new ByteArrayOutputStream();
	
	try {
		JasperExportManager.exportReportToPdfStream(print, stream);
	} catch (Exception e) {
		e.printStackTrace();
	}
	
	return stream;
}

}

2 Respostas

Mero_Aprendiz

Olá santos.levi.

Bem, troque:

Por:

E teste…

[]'s
JL

P.S.: Sempre que for postar códigos, use as tags Code

S

Amigo valeu mesmo funcionou.
só uma ajuda a mais, além do pdf que eu vou gerar vindo do banco de dados no mesmo arquivo eu tenho que gerar outro uma outra pagina na verdade, duas paginas:
uma com os dados do banco
e outra só com texto normais, como eu faço isso?

obrigado…

Criado 25 de junho de 2009
Ultima resposta 25 de jun. de 2009
Respostas 2
Participantes 2