The
following error message displays when trying to print a large report
to PDF.
The error stack shows:
A
fatal error occurred while processing the request.
The server responded with: Error
while executing PDFRpcCall.processMessage
com.siebel.analytics.utils.InputStreamWithLimit$ReadOverTheLimitException at
com.siebel.analytics.utils.InputStreamWithLimit.incTotalBytes(InputStreamWithLimit.java:58)
at com.siebel.analytics.utils.InputStreamWithLimit.read(InputStreamWithLimit.java:41)
at com.siebel.analytics.utils.IOUtils.copyStreams(IOUtils.java:38) at
com.siebel.analytics.utils.IOUtils.copyStreams(IOUtils.java:28) at
com.siebel.analytics.web.javahostrpccalls.xmlp.XmlpAbstractRpcCall.processMessageInternal(XmlpAbstractRpcCall.java:40)
at
com.siebel.analytics.javahost.AbstractRpcCall.processMessage(AbstractRpcCall.java:94)
at
com.siebel.analytics.javahost.MessageProcessorImpl.processMessage(MessageProcessorImpl.java:175)
at com.siebel.analytics.javahost.Listener$Job.run(Listener.java:223) at
com.siebel.analytics.javahost.standalone.SAJobManagerImpl.threadMain(SAJobManagerImpl.java:205)
at com.siebel.analytics.javahost.standalone.SAJobManagerImpl$1.run(SAJobManagerImpl.java:153)
at java.lang.Thread.run(Thread.java:619)
Solution:
By Increasing
the amount of data in the report that is printed to PDF.
1. Modify
<oracle_home>\OracleBIData\web\config\instanceconfig.xml and add the <JVMOptions> tag:
<JavaHost>
<JVMOptions>-Xms256m -Xmx512m </JVMOptions>
</JavaHost>
after modification,instanceconfig.xml will be like:
<?xml version="1.0" encoding="utf-8"?>
<WebConfig>
<ServerInstance>
<DSN>AnalyticsWeb</DSN>
<CatalogPath>C:/OracleBIData/web/catalog/TESTCATALOG</CatalogPath>
<Alerts>
<ScheduleServer>localhost</ScheduleServer>
</Alerts>
<AdvancedReporting>
<ReportingEngine>XmlP</ReportingEngine>
<Volume>XmlP</Volume>
<ServerURL>http://localhost:9704/xmlpserver/services/XMLPService</ServerURL>
<WebURL>http://localhost:9704/xmlpserver</WebURL>
<AdminURL>http://localhost:9704/xmlpserver/servlet/admin</AdminURL>
<AdminCredentialAlias>bipublisheradmin</AdminCredentialAlias>
</AdvancedReporting>
<JavaHome>C:\Program Files\Java\jdk1.6.0_01</JavaHome>
<JavaHost>
<JVMOptions>-Xms256m -Xmx512m </JVMOptions>
</JavaHost>
<BIforOfficeURL>client/OracleBIOffice.exe</BIforOfficeURL>
</ServerInstance>
</WebConfig>
2. Modify
<oracle_home>\OracleBI\web\javahost\config\config.xml
For OBIEE (10.1.3.x), the correct tag for <InputStreamLimitInKB> is <XMLP>.
Increase the value of <InputStreamLimitInKB> inside the <XMLP> tag from default value (8192kb - 8MB) to 65436.Size can be adjusted according to data size.
This is the wrong one:
<PDF>
<!-- Size limit for PDF request message -->
<InputStreamLimitInKB>65436</InputStreamLimitInKB>
<!-- Path to PDF userconfig.xml file. -->
<!-- <UserConfigFile/> -->
</PDF>
This is the correct one:
<XMLP>
<InputStreamLimitInKB>65436</InputStreamLimitInKB>
</XMLP>
3. Re-start the BI Javahost and BI Services
4. Preview the report and if problem still appears then adjust the value of <InputStreamLimitInKB>.
Thanks,
Neeraj