Solved

Crystal Report Layout base64Decode error


Badge +1

Dear Community,


I am trying to create a Crystal Report layout. I have made some normal Crystal Quickreports before and everything worked fine. But when I try to create a report layout, I get an error message. I have made the language subfolders in our CR folder, put the rpt file there. I created the new row in the ReportDefinitions screen, finally the layout shows up when I try to print it, but when I click the preview button, I get an error.

Report Definitions

 

Crystal Reports: Web.Config

 

CrystalReport folder

 

Error Message in IFS

In the CWS logs there is a base64Decode error, but the ParamterValues is not encoded, why does CWS want to decode it?
 

Information from XML : DBUser-IFSSYS DBPassword-******* PrintUser-IFSPRINT PrintPassword-******* DBServerName-MC9TEST1 AppOwner-IFSAPP IALOwner-IFSINFO
2022. 05. 31. 11:17:17[IFSCRWebSetup_MC9TEST1]-[GetSavedPDFReport] Exporting the report in PDF format.
2022. 05. 31. 11:17:17[IFSCRWebSetup_MC9TEST1]-[GetSavedPDFReport] File Name : teljesites_igazolas.rpt
2022. 05. 31. 11:17:17[IFSCRWebSetup_MC9TEST1]-[GetSavedPDFReport] ParameterValues : 603687.0 ,LangCode = en
2022. 05. 31. 11:17:17[IFSCRWebSetup_MC9TEST1]-[base64Decode] for 603687.0
2022. 05. 31. 11:17:17[IFSCRWebSetup_MC9TEST1]-ERROR in [base64Decode] Error in base64Decode.
2022. 05. 31. 11:17:17[IFSCRWebSetup_MC9TEST1]-The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. at System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength)
at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
at System.Convert.FromBase64String(String s)
at Ifs_ReportService.base64Decode(String data) in c:\inetpub\wwwroot\IFSCRWebSetup_MC9TEST1\App_Code\Service.cs:line 1516

 

For normal CR quick reports, you can see in the log that the parameter is encoded. Is some system parameter missing?

icon

Best answer by ChanakaAmarasekara 3 June 2022, 08:01

View original

4 replies

Userlevel 7
Badge +15

Hi

This looks like an issue where the CWS is not matching the Middle Tier Application Version. If you have updated to a newer UPD and is still using the CWS from the older UPD, then it’s suggested that you uninstall the older version and install the newer version.

Hope this helps.

Regards,

Badge +1

Thanks for the quick reply @ChanakaAmarasekara !

I was able to narrow down the error. In the CWS code "c:\inetpub\wwwroot\IFSCRWebSetup\App_Code\Service.cs” on line 88 there is a check that the parameter is a valid number. In our system, IFS sends the result_key to CWS as a floating number, not as an integer, and the problem is that the decimal separator is a period, not a comma. Therefore the base64encode function on line 90 is not called and the base64decode function on line 93 throws an error.

81.        //LangCode is not null for InfoServices reports
82. if (ParameterValues != null)
83. {
84. if (LangCode != null)
85. {
86. //We need to do this check to make the CWS compatible with Apps9 and Apps10
87. double tempParameterValues;
88. if (Double.TryParse(ParameterValues, out tempParameterValues))
89. {
90. ParameterValues = base64Encode(ParameterValues);
91. }
92. }
93. ParameterValues = base64Decode(ParameterValues);
94. ParameterValues = ParameterValues.Replace('%', '*').Replace('_', '?');
95. }

We tried to change the regional settings on the server, but no effect. We are waiting for our IFS distributor to see if there is any configuration for this or an update to CWS.

 

In our test environment, we tried to insert a line before the validation to replace the period with a comma:

87. ParameterValues = ParameterValues.Replace('.', ',');

This corrected the error and the Crystal Layout appeared without error.

 

Userlevel 7
Badge +15

Hi,

Ah ok, I thought this rang a bell.

The issue you described was a bug when the locale in none ‘en’. The bug fix was 142456 and has gone with UPD2. I guess that is what you have now.

http://lcs.corpnet.ifsworld.com/login/secured/buglnw/BlBug.page?BUG_ID=142456

 

We have also done a fix only to return the integer part of the Result Key with bug fix 153739. This has gone with UPD 18. Try applying that and see if it resolves your issue.

http://lcs.corpnet.ifsworld.com/login/secured/buglnw/BlBug.page?BUG_ID=153739

 

Regards,

Badge +1

Thanks for your help @ChanakaAmarasekara !

 

We received the update and after installation the problem is solved.

Reply