CFReport producing blank page

1.1k views Asked by At

I'm moving a website from environment A to environment B. My current hangup is that the pre-existing ColdFusion Report isn't running. The page loads with a blank html document, not a PDF file like the report is supposed to produce. i.e. If I view page source it is blank. No errors, no comments... nothing, just blank.

I don't know much about working with .cfr files or if anything is required on the server side to make them work. The new environment is out of my control so I'll have to ask them for details if I'm not providing enough information. The only thing I've found in any documentation is:

At run time, you display the CFR file by using a ColdFusion server that has ColdFusion Reporting enabled.

The only report setting I could find in the ColdFusion Admin is the max number of threads for cfreport. Am I missing something that would enable or disable reporting?

The reports have not been modified moving from one environment to the other. The .cfr file is being accessed directly and is configured in CFRB to allow that.


                                      UPDATE

I have tried running the reports on a different server within the new environment with the same result. Of course the sys-admins don't know of anyone else who's tried to use .cfr files so they are unsure as well. I have even tried toggling the "Allow Direct .cfr Browser Invocation" option in the report but it didn't change anything. For now, the reports will run if I use a cfreport tag to invoke them so I'm going to create a page to run the few reports with cfreport. As this is isn't the solution to the original problem, I'm not going to answer my own question with this workaround.

TIA

2

There are 2 answers

0
genericHCU On BEST ANSWER

I have since moved another website from 32 bit ACF9 to 64 bit ACF11 Windows Server 2003 to 2012. I've come across a similar problem, though it presented differently. Instead of a blank white page I get an IIS 404.0 error. After playing around with IIS handlers, confirming ACF wsconfig settings, removing/rebuilding IIS connectors with cfusion/bin/connectors tools and talking to a rather useless Adobe support person who didn't know what a .cfr file was, I've discovered that simply using cfreport to call the reports solves pretty much every issue I've had so far. For anyone else having this problem I would follow Adobe's example and just forget about this "feature" of CF. Build the output in HTML and use cfpdf, cfdocument, or cfspreadsheet for your output.

<!--- instead of --->
<cflocation url = "xyz.cfr">
<!--- use --->
<cfreport report = "xyz.cfr" format = "pdf"></cfreport> 
1
Chris W On
`<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <clear />
                <add value="index.cfm" />
                <add value="home.cfm" />
                <add value="default.cfm" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="Default.aspx" />
                <add value="index.html" />
                <add value="index.asp" />
                <add value="index.aspx" />
                <add value="index.cgi" />
                <add value="default.html" />
                <add value="home.htm" />
                <add value="home.html" />
                <add value="home.asp" />
                <add value="default.stm" />
                <add value="default.shtml" />
                <add value="default.php" />
                <add value="index.stm" />
                <add value="index.shtml" />
                <add value="home.stm" />
                <add value="home.shtml" />
                <add value="index.shtm" />
                <add value="_holding.htm" />
                <add value="_holding.asp" />
            </files>
        </defaultDocument>

        <directoryBrowse enabled="false" />
        <urlCompression doStaticCompression="true" doDynamicCompression="true" />
        <handlers>
            <remove name="cfrHandler" />
            <add name="cfrHandler" path="*.cfr" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion2018\config\wsconfig\1\isapi_redirect.dll" resourceType="Either" requireAccess="Script" preCondition="bitness64" responseBufferLimit="0" />
        </handlers>
    </system.webServer>
</configuration>`