cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Report fails to print embedded pictures

Former Member
0 Kudos

Hi,

I use crystal report templates and embed data from Java POJO's to print my reports.

My application was running successfully until the day when below mentioned exception started appearing in logs, every time I ran the report generation code.

My CRConfig.xml has correct <reportlocation> tag.

The report generated was missing two static pictures embedded in the templates.

The jar files are also present at correct location.

I have no clue why why this exception can suddenly start appearing in a well-running application.

Can someone please provide me with any pointers about about could be wrong here?

Thanks for your help.

Regards,

Anand

-


{com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: com.crystaldecisions.reports.reportdefinition.InsertFieldObjectCommand---- Error code:-2147467259 Error code name:failed

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.<init>(Unknown Source)

at com.businessobjects.sdk.erom.jrc.a.<init>(Unknown Source)

at com.businessobjects.sdk.erom.jrc.ReportAgentFactory.createAgent(Unknown Source)

at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.<init>(Unknown Source)

at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(Unknown Source)

at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.ClientDocument.if(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.ClientDocument.open(Unknown Source)

at com.aig.alico.webapp.actions.FulfillmentDocumentsAction.printReport(FulfillmentDocumentsAction.java:252)

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

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:618)

at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)

at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)

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

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

at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)

at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087)

at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)

at com.aig.alico.webapp.service.AuthenticationFilter.doFilter(AuthenticationFilter.java:288)

at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)

at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)

at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)

at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)

at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)

at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)

at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)

at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)

at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)

at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)

at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:122)

at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)

at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)

at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)

at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)

at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)

at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)

at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)

at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)

at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)

at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)

at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)

at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)

Caused by: java.lang.NoClassDefFoundError: com.crystaldecisions.reports.reportdefinition.InsertFieldObjectCommand

at com.businessobjects.reports.reportconverter.v12.d.a(Unknown Source)

at com.businessobjects.reports.reportconverter.v12.d.a(Unknown Source)

at com.businessobjects.reports.reportconverter.v12.d.if(Unknown Source)

at com.businessobjects.reports.reportconverter.v12.d.if(Unknown Source)

at com.businessobjects.reports.reportconverter.v12.d.E(Unknown Source)

at com.businessobjects.reports.reportconverter.v12.d.m(Unknown Source)

at com.businessobjects.reports.reportconverter.v12.f.if(Unknown Source)

at com.businessobjects.reports.reportconverter.v12.V12SaveLoader.a(Unknown Source)

at com.businessobjects.reports.loader.ReportLoader.a(Unknown Source)

at com.businessobjects.reports.sdk.JRCReportLoader.a(Unknown Source)

at com.businessobjects.reports.sdk.JRCReportLoader.a(Unknown Source)

at com.businessobjects.reports.sdk.requesthandler.ReportDocumentRequestHandler.a(Unknown Source)

... 47 more

Caused by: java.lang.ClassNotFoundException: com.crystaldecisions.reports.reportdefinition.InsertFieldObjectCommand

at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:487)

at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:388)

at java.lang.ClassLoader.loadClass(ClassLoader.java:597)

... 59 more}

Accepted Solutions (1)

Accepted Solutions (1)

ted_ueda
Employee
Employee
0 Kudos

It's a NoClassDefFoundError - so rebuild your app where you flush and re-copy-over all the CRJ jar files would be what I would start with.

Sincerely,

Ted Ueda

Former Member
0 Kudos

Ted,

Thank you for your reply.

Restarting the server solved the problem. But what I wanted to know is why this problem can occur?

NoClassDefFoundException should not occur if the jar files are already present.

Moreover, If the reports were already running fine in the server, why should they start failing all of a sudden.

Regards,

Anand

ted_ueda
Employee
Employee
0 Kudos

NoClassDefFoundError is thrown by the ClassLoader - not the Crystal Reports Java SDK.

So you're looking at multiple possibilities - JVM bug, memory fragmentation, heap starvation, locked files, etc.

Sincerely,

Ted Ueda

Former Member
0 Kudos

So, you mean that it could be a websphere issue?

Can crystal reports be at fault here? Are you aware of anyt CR related issues related to this problem?

We run our application in Websphere and include the crystal reports jars supplied by Rational Application Developer.

What is the recommended method of including crystal reports jars in our web application. We put the CR jar files under WEB-INF\lib dir.

Regards,

Anand

ted_ueda
Employee
Employee
0 Kudos

The class loader com.ibm.ws.classloader.CompoundClassLoader could not load the class com.crystaldecisions.reports.reportdefinition.InsertFieldObjectCommand

That's pretty much all the information you've provided as to the underlying cause.

Sincerely,

Ted Ueda

Answers (0)