cancel
Showing results for 
Search instead for 
Did you mean: 

Unsupported Operation. A document processed by the JRC engine cannot be ...

Former Member
0 Kudos

I have published my web site to my QA server (the server is running Windows Server 2008 R2 Enterprise Edition- 64 Bit). The web site was developed in Visual Studio 2010 using the .Net Framework V4.0. The .rpt file does exist on the server in the correct folder and I have veirifed the mappath is resolving to the correct path on the server by writting the path to the http response.

I went to the SAP Crystal Reports support page and downloaded and installed the 64 bit version of the Crystal Reports Redistributable (CRforVS_redist_install_64bit_13_0_1.zip was the file I downloaded and installed on the server).

The web site will now run (I was previously getting a message regarding mising Crystal Report DLLS) but when I actually attempt to view my report, I get the following error:

-


Server Error in '/' Application.

-


Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[COMException (0x80041811): Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack.]

CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0

CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +147

CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +422

[CrystalReportsException: Load report failed.]

CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +549

CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +1613

CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +189

Flyer.Page_Load(Object sender, EventArgs e) +205

System.Web.UI.Control.LoadRecursive() +71

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064

-


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

-


Any assistance would be greatly apprecaited.

Accepted Solutions (1)

Accepted Solutions (1)

former_member183750
Active Contributor
0 Kudos

See if the KB [1603477 - Error: A document processed by the JRC engine cannot be opened in the C++ stack|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333633303333333433373337%7D.do] applies (I don't think so, but it's the only note of the error in our systems.).

I understand you are on a 64 bit OS, but you do not mention if your app compiledas 32 bit or 64 bit. If it is 32 bit, you will need the 32 bit runtime.

Are you on the server when you get the error, or on a client?

What version of IE?

Ludek

Follow us on Twitter http://twitter.com/SAPCRNetSup

Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports]

Former Member
0 Kudos

So from what I can tell, the KB Article does not apply.

All the DLLs were compiled using the 'Any CPU' option'. I tried to hard code them as being X64 and I ran into some issues. This led me to believe the site was running in 32 bit mode on the server so I did download and install the 32 bit Crystal Report Redistributable and tested the site. I still got the same error.

Regarding the Server or Client, I get the same error if I am logged into the actual server, open up IE and browse to localhost as I do if I am on my local machine, open up IE and browse to the site.

Also - the version of IE is 9. If there is any other information I can provide, please let me know.

Former Member
0 Kudos

Actually - as a followup - I found that in the application pool on the web server, the advanced option to allow 32 bit applicaitons was disabled so I do not believe the web site was running in 32 bit mode. But I could be wrong.

former_member183750
Active Contributor
0 Kudos

IE 9 may be the problem here. According to the [Supported Platforms|http://www.sdn.sap.com/irj/sdn/index?rid=/library/uuid/e06b8953-a62b-2d10-38b9-ca71f747e2b1] documentation, only the following browsers are supported;

Internet Explorer 7.0

Internet Explorer 8.0

Firefox 2.0

Firefox 3.5

Firefox 3.6

Safari 3.1

Couple of suggestions;

1) Compile the app as 64 bit, not as Any CPU

2) Try IE8

IE9 should be supported with SP3. ETA; November 2011 or later, possibly 1st quarter 2012.

- Ludek

Former Member
0 Kudos

So there are a few things I can state pretty surely:

1. It has nothing to do with the Browser. The exception is being thrown on the server when the report is being loaded (the following code. I know this because I added a catch block and deployed to the server and the catch block was being executed and this error was returned. (I also tested it in FireFox 3.6 and got the same result.)


        Dim lobj_Report As ReportDocument = Nothing
        Dim lobj_Flyer As FlyerBL = Nothing

        Try


            lobj_Flyer = New FlyerBL(CityGayScene_Enums.ApplicationEnums.eRoles.eUser)
            lobj_Report = New ReportDocument()

            lobj_Report.Load(Server.MapPath("~/Reports/LocationFlyer.rpt"))
            lobj_Report.SetDataSource(lobj_Flyer.FlyerInfoGet(Profile.language, Profile.location))
            lobj_Report.Subreports(0).SetDataSource(lobj_Flyer.FlyerEventInfoGet(Profile.language, Profile.location))

            crFlyer.ReportSource = lobj_Report

            'Clear the location - it was only used for this
            Profile.location = -1

        Finally
            If Not lobj_Flyer Is Nothing Then lobj_Flyer.Dispose()
        End Try

2. I cannot find any place in Visual Studio to set compilation mode to X64 for a web site (This is NOT a web application). When I try to set the Target CPU for may class libraries to X64, the website will no longer complile so I cannot compile it as X64.

Any other suggestions?

former_member183750
Active Contributor
0 Kudos

I asked around here and all I get is blank stares... E.g.; weird...

What version of CR was \ were the reports created in?

Would you be able to share one of the reports - with saved data?

- Ludek

Former Member
0 Kudos

There is only one report and it was created in the Visual Studio 2010 report designer.

WIth regard to sharing the report with saved data - sure -- but what do you mean by "SHARE"? I see no such function no this site. So once I get the information on how to do this I will.

Let me check a few other assumptions:

1. There is no longer a "Product Key" to enter for visual studio version of Crystal Reports correct? I have followed the "Register" link in Visual Studio 2010 which - at the end of the process - all I got was a pretty useless e-mail from SAP.

2. There is no longer any "KEY" that is needed on the web server to run a Crystal Report

3. Once I include / add an image to my report, I do not need to deploy that image to the server as it becomes and embedded image.

If any of these assumptions are not correct, please let me know so I can address them.

Thanks

George

Former Member
0 Kudos

Something else that might shed some lite. I used an XSD file as my datasource and VS 2010 put that XSD file in the App_Code folder (which does not actually get deployed to the server). Now I don't actually USE the XSD as the source to my report - I pass in a dataset as shown in the code below but do I still need to deploy the XSD file to the server in order for the report to load? If so I take it I need to move the XSD file to another folder (Like app data) and then change the location of my datasource. Please let me know.

lobj_Flyer = New FlyerBL(CityGayScene_Enums.ApplicationEnums.eRoles.eUser)
            lobj_Report = New ReportDocument()

            lobj_Report.Load(Server.MapPath("~/Reports/LocationFlyer.rpt"))
            lobj_Report.SetDataSource(lobj_Flyer.FlyerInfoGet(Profile.language, Profile.location))
            lobj_Report.Subreports(0).SetDataSource(lobj_Flyer.FlyerEventInfoGet(Profile.language, Profile.location))

            crFlyer.ReportSource = lobj_Report

            'Clear the location - it was only used for this
            Profile.location = -1

former_member183750
Active Contributor
0 Kudos

You do not need the xsd, but you do need to look at KB #[1525432|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333533323335333433333332%7D.do].

- Ludek

Former Member
0 Kudos

OK -- So I looked at the KB Article and have two notes on this:

1. "config file" can refer to just about ANY config file - web.config, machine.config etc. My assumption was the web.config which is where I added the documented code.

2. there are many SECTIONS of a web.config file and the documentation does not say WHERE to add this line. I tried it in several place and the only place that did not crash my application was in the Configuration section.

The end result was that I still received the exact same error. If any of the assumptions I made above are not correct (web.config and Configuration section) please let me know.

Regardless I would highly recommend that the documentation for the KB be updated to be clear as to which file and section the code is supposed to be placed in.

Also - I am stil lwaiting on detalis regarding how to "SHARE" my report saved with data with you.

Any other ideas?

George

Edited by: George Ceaser on Sep 7, 2011 4:33 PM

Edited by: George Ceaser on Sep 7, 2011 4:37 PM

former_member183750
Active Contributor
0 Kudos

We're kind of roaming all over the place here. This is not good as we loose focus on the actual issue you want to work on. Also, as per the [Rules of Engagement|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement], one query per thread. This not only helps to stay on track, it also helps others in the future when they search the forums for possible solutions.

Re. web.config. To see details of what the config file should look like, search for web.config in the [SAP Crystal Reports .NET Developer Guide|http://help.sap.com/businessobject/product_guides/sapCRVS2010/en/crnet_dg_2010_en.zip]. I'll add that sample to the KB.

I'll contact you over email to get the report. But the issue I will be working on only is re. the JRC engine. For any other queries, please create a new thread. Another thing to note; accepting a report is an exception as currently I have a spot of time to do testing with it. This may change at any time. For details of how these forums work, see the blog [What are these 'support' forums good for anyhow?|/people/ludek.uher/blog/2011/04/07/what-are-these-support-forums-good-for-anyhow].

- Ludek

Former Member
0 Kudos

Ludek,

To be clear - I am not roaming all over the place. As part of this thread you posted text on Sept 7 at 12:00 AM (the time stamp on the post) asking me to share a report saved with data. Thus - I am not roaming and I am following "Rules of Engagement" to the best of my knowledge.

From 9/7/2011 12:00 AM POST by Ludek:

"Would you be able to share one of the reports - with saved data?"

I have responded to your email with the report saved with data (I only have one report in the whole system.) If the report will not help with the problem, there is no need for it and you can simply delete it.

NOW - back to the actual issue - So I checked out the SAP Crystal Reports .NET Developer Guide. The location the documentation stated to add the new entry was exactly where I added it my web.config file and it made no difference to the problem.

Suggestions? Sincerely

George Ceaser

former_member183750
Active Contributor
0 Kudos

Please do read the blog "What are these 'support' forums good for anyhow?".

Ludek

0 Kudos

Hi George,

Lots of info but seems to be a lot of unknowns also.

Since the original issue is on opening the report what happens if you simplify the code to the exact location the report is saved in?

lobj_Report.Load(Server.MapPath("~/Reports/LocationFlyer.rpt"))

to

lobj_Report.Load("c:/MyReports/LocationFlyer.rpt")) ( Or where ever you have your shared folder where the reports exist )?

Don

Former Member
0 Kudos

Don,

I added the following code which will us a hard coded path if I am not in my devleopment environment and received the same error message:

If Request.Url.ToString.ToUpper.Contains("LOCALHOST") Then
                lobj_Report.Load(Server.MapPath("~/Reports/LocationFlyer.rpt"))
            Else
                lobj_Report.Load("c:\inetpub\wwwroot\citygayscene\Reports\Reports\LocationFlyer.rpt")
            End If

NOTE: I actually have an alert display in the localhost route but this wonderful site crashes if try to post that line of code here -- even if I mark it as code

George

Edited by: George Ceaser on Sep 7, 2011 11:25 PM

Edited by: George Ceaser on Sep 7, 2011 11:27 PM

Former Member
0 Kudos

So - I did a little more testing in that I created a report with nothhing but static text in it - no data sources - no images etc. It just has one line of text. When I deploy that to my server and attempt to run it, I get the exaxt same error message.

Is there some documentation somewhere that walks through all the steps to correctly deploy Visual Studio 2010 Crystal Reports to a Windows Server 2008 R2 64 bit box? FYI - since this is a Visual Studio web site and not a web application - I do not do setup packages and instead simply deploy the website to the server.

Any assistance would be greatly appreciated.

George

former_member183750
Active Contributor
0 Kudos

I wonder; if the path to the report is correct, are we looking at permissions?

Try running the app pool under the local system acct to see if this is the case.

Make sure the c:win\temp folder has read \ write permissions.

Use [Process Monitor|http://technet.microsoft.com/en-ca/sysinternals/bb896645.aspx] to see if it tells you anything.

- Ludek

Former Member
0 Kudos

Ludek,

With regard to the statement "Try running the app pool under the local system acct to see if this is the case." I will try this but I am not sure what "case" we are trying to determine this is? However, I went into the server, clicked on the Advanced Settings for the application pool my application is assigned to, and then within the "Process Model" section of the Advanced settings, I changed the Identify from "ApplicationPoolIdentity" to "LocalSystem" - clicked OK and OK again then restarted IIS, retested and I received the same error message.

With regard to the statement "make sure the c:win\temp folder has read \ write permissions." What account needs read / write permissions to this folder? Just to test, I went to the C:\Windows\Temp folder and granted the EVERYONE group full control. I then re-booted the server and re-tested. I still received the same error.

Thanks

George Ceaser

Edited by: George Ceaser on Sep 8, 2011 7:11 PM

former_member183750
Active Contributor
0 Kudos

I find that once we roll over to a second page on these forums - and there is no clear direction to a solution, creating a phone case is the way to go. At this point, that would be my suggestion...

http://store.businessobjects.com/store/bobjamer/en_US/pd/productID.98078100?resid=S6I@hgoHAkEAAGsiyV...

- Ludek

Former Member
0 Kudos

Ludek,

Thank you very much for the information. Before I bother spending $195 dollars on something that should work in a pretty straight forward manner, I would re-code the report into the build in reports in VS. However, before I go that route, I don't believe I receive an answer to the question regarding whether or not there were clear and concise instructions on how to deploy Crystal Report as part of a VS 2010 Web Site without using a setup package. If such information exists and a link to it could be provided, I would greatly appreciate it. (To be clear I have tried searching the internet for such instructions but have been unable to find them.)

Thanks

George

former_member183750
Active Contributor
0 Kudos

Yup. Sorry about that. Publishing a web site copies the project files, but not the runtime. This is fine on the development computer. If published to another server, the CR runtime will have to be deployed as publishing will not do this for us. There are three ways to deploy the CR runtime;

MSI:

http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0_1.zip

http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0_1.zip

MSM:

http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_mergemodules_13_0_1.zip

(no 64 bit MSM is available)

ClickOnce:

http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_clickonce_13_0_1.zip

- Ludek

Former Member
0 Kudos

Ludek,

Thanks for the information but I was more looking for a complete guide to publishing to a server. Everything from deploying the CR Runtime to setting folder permissions and everything in between. Is there any such documentation?

former_member183750
Active Contributor
0 Kudos

Check out the [SAP Crystal Reports .NET SDK Developer Guide|http://help.sap.com/businessobject/product_guides/sapCRVS2010/en/crnet_dg_2010_en.zip] file. Search for "deploy". Also, see the following articles:

[Dynamic images appear as red X on Crystal Reports in VS .NET web viewer|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a0437ea8-97d2-2b10-2795-c202a76a5e80]

[Viewer toolbar images appear as red u2018X on Crystal Reports VS .NET web viewer|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/50aa68c0-82dd-2b10-42bf-e5502b45cd3a]

The above articles were written before CRVS2010, but the genral ideas apply.

- Ludek

Former Member
0 Kudos

So I took a differnt approach and tried to remove as many variables as posslbe. I have all my class library projects set to compile in X86 mode. I removed all the redistributables from Crystal from the server, rebooted and ONLY installed the 32 bit one. I then followed an approach of some other people where I moved everything related to my report into the App_Code folder. (IE The .rpt file and the dataset.). I then changed the code to create new instance of the report rather than load it. The code is below. The end result is a the page shows the text "All Went OK" but the reportviewer does not display. (IE I have a completly empty page except for the text "All Went OK"). Might this lead to some other trains of thought on this problem?

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Dim lobj_Report As ReportDocument = Nothing
        Dim lobj_Report As LocationFlyerReport = Nothing
        Dim lobj_Flyer As FlyerBL = Nothing
        Dim ls_Message As String = ""
        Try

            ls_Message = "All went OK"
            lobj_Flyer = New FlyerBL(CityGayScene_Enums.ApplicationEnums.eRoles.eUser)
            lobj_Report = New LocationFlyerReport()

            'lobj_Report.Load(Server.MapPath("LocationFlyerReport.rpt"))
            lobj_Report.SetDataSource(lobj_Flyer.FlyerInfoGet(Profile.language, Profile.location))
            lobj_Report.Subreports(0).SetDataSource(lobj_Flyer.FlyerEventInfoGet(Profile.language, Profile.location))

            'Set the report viewer report source
            crFlyer.ReportSource = lobj_Report

            'Clear the location - it was only used for this
            Profile.location = -1
        Catch ex As Exception
            ls_Message = "Error: " + ex.Message
        Finally
            If Not lobj_Flyer Is Nothing Then lobj_Flyer.Dispose()
            Response.Write(ls_Message)
        End Try

    End Sub

former_member183750
Active Contributor
0 Kudos

Possibly. Look at the two articles I referenced in my previous thread and look for info on how to configure the viewer for custom web sites. Just an idea as the issue you describe sounds like this may be the case.

- Ludek

0 Kudos

One other option, Are you still using IE 9? do you see the Legacy button in the URL line area? It's that little broken page icon. I'm wondering if that may be a fix.

Other option is when you created the new report did you check off the option to Suppress Printing if not records? It's in the Report Option menu. That would stop IE from displaying anything.

Don

Former Member
0 Kudos

OK - So I figured this out myself. The root of the problem as well as the solution are VERY simple.

NOTE: Below, the term 'WebSite' refers to actual web site nodes in IIS, NOT a virtual directory within a web site.

Problem Root Cause: There is no "aspnet_client" folder accessible by the application.

This can happen for several reasons:

1. Since the SAP CR installer appears to install the aspnet_client folder in the ...\inetpub\wwwroot\ folder, if your Web Site physical path is NOT ...inetpub\wwwroot, your application will not have access to the aspnet_client folder.

2. If the aspnet_client folder was moved or deleted from to the top level of your web site's physical path, your IIS application will not have access to the folder.

Problem Solution (For Windows Server 2008 R2)

1. Go to the IIS manager on your server

2. Expand the tree view node for the WebSite running your application

3. Look at the level immediatly under the web site node and ensure you see a "aspnet_client" folder.

4. If you do see the folder, then perhaps this root cause is not the cause of your problem.

5. If you do NOT see the folder, search the server's hard drive for it and COPY it to the Web Site's Physical path.

6. Right mouse button click on the Web Site node and click Refresh from the popup Menu

7. You should now see the aspnet_client folder at the level directly under your web site node and the reports in the application should work.

0 Kudos

Thanks for the info George,

It's actually in the Viewer Red X link ludek pasted in also, also note that thsi is the same configuration for each version:

Using Crystal Reports 2008 and Visual Studio.NET 2002 or Visual Studio.NET 2003

If the web application is not under the default web site, but under the custom website, manually create the virtual directory with alias "CrystalReportViewers12" pointing to <installation directory>:\program files\Business Objects\common\4.0\crystalreportviewers12.

To create a virtual directory

1.

Open Microsoft Internet Information Services (IIS) manager. Click Start > Run. Type "inetmgr" in the Run text box. Click OK.

2.

Expand the custom website.

3.

Right-click the website. Click New > Virtual directory from the pop-up menu.

4.

Use the exact alias " CrystalReportViewers12". Point to physical location <installation directory>:\program files\Business Objects\common\4.0\crystalreportviewers12.

5.

Follow the virtual directory creation wizard. Use the default settings only.

If the CrystalReportWebFormViewers12 folder exists, complete these steps:

1.

Click Start > Run. Type "inetmgr" in the Run box.

2.

Expand Default Web Site icon (or the name of the web site if not using the Default Web Site).

3.

Right-click the CrystalReportViewers12 folder > click Properties.

4.

Click the Create button on the Virtual Directory tab.

5.

Click Scripts only In the Execute Permissions box.

6.

Click OK.

Crystal Report Viewers in Visual Studio .NET u2013 Toolbar Images

Using Crystal Reports 2008 and Visual Studio.NET 2005 or Visual Studio.NET 2008

Copy the aspnet_client folder (c:\Inetpub\wwwroot\aspnet_client) and all of itu2019s subfolders to the physical root directory of the custom web site. Also, ensure the following is in the web.config file of the application:

<httpHandlers>

<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version= 12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>

</httpHandlers>

Don

Former Member
0 Kudos

Don,

Fair enough. However if Crystal Reports 2008 is what comes with Visual Studio 2010, the certainly was not clear to me. Thus I did not believe this was applicable to my scenario. I would just suggest that all the threads on the SAP support site the reference this exact error talk about the CR files in the aspnet_client file very near the top so it does not take them a couple of weeks to realize what the problem is.

Thanks

Answers (0)