November Happy Hour will be moved to Thursday December 5th.

Deploy site when pages contains dynamic content

Vote:
 

I'm getting this error when deploying a CMS 6 R2 site containing a lot of dynamic content to an production enviroment. (Content is created in a development enviroment)

"The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters."

If i remove all existing dynamic contents at the production enviroment, and recreate them on the pages, everything works...

The production server is a Windows 2008 R2

 

 

#60240
Jul 27, 2012 13:01
Vote:
 
[FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters. ]
   System.Convert.FromBase64String(String s) +0
   EPiServer.DynamicContent.DynamicContentBase.set_State(String value) +261
   EPiServer.DynamicContent.DynamicContentFactory.CreateDynamicContent(String name, String state, String hash, Boolean validateHash) +61
   EPiServer.Core.Html.StringParsing.DynamicContentFragment..ctor(IDynamicContentFactory factory, ISecuredFragmentMarkupGenerator securedFragmentMarkupGenerator, String dynamicClass, String state, String hash, Boolean evaluateHash) +79
   EPiServer.Core.Html.StringParsing.FragmentParser.ExtractDynamicContentFromElement(HtmlFragmentData fragmentData, ElementFragment element) +480
   EPiServer.Core.Html.StringParsing.FragmentParser.ParseElement(HtmlFragmentData fragmentData, ElementFragment element) +143
   EPiServer.Core.Html.StringParsing.FragmentParser.ProcessFragments(HtmlFragmentData fragmentData, Boolean returnOnEndElement) +273
   EPiServer.Core.Html.StringParsing.FragmentParser.Parse(String html, FragmentParserMode parserMode, Boolean evaluateHash) +256
   EPiServer.SpecializedProperties.PropertyXhtmlString.SetInternalStateNoCheck(String value, SetStateAction action, FragmentParserMode parserMode) +40
   EPiServer.SpecializedProperties.PropertyXhtmlString.get_Fragments() +35
   EPiServer.Web.PropertyControls.PropertyLongStringControlBase.CreateDefaultControls() +279
   System.Web.UI.Control.EnsureChildControls() +182
   EPiServer.Web.WebControls.Property.CreateChildControls() +662
   System.Web.UI.Control.EnsureChildControls() +182
   System.Web.UI.Control.PreRenderRecursiveInternal() +60
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4185
#60241
Jul 27, 2012 13:41
Vote:
 

Dynamic content properties are stored as bunch of joined Base64 strings. Symbol | is used as separator between property name/value pairs. Symbol & is placed between property name and corresponding value in each pair.
Valid Base64 string contains following characters/ranges: A-Z, a-z, 0-9, +, / and sometimes up to 3 = characters in the end of the string to make it multiple of 4.

May be it depends on how data is deployed/transfered from development to production environment. Any extra encoding/escaping? Try to check dynamic content values after deploying to production environment.

#60273
Jul 31, 2012 19:11
Vote:
 

Looking into the same error. Works in some enviroments but not all. When I output outside of the property control this is the dynamic content div:

div data-classid="b30218a7-77fc-43dd-a844-81935aa9b35e" data-dynamicclass="Whitepaper" data-state="RgBpAGwAZQA=&LwBmAGkAbABlAHMALwBQAEQARgAvAE4AQwBTAF8AVAByAGEAZABlAG0AYQByAGsAXwBhAG4AZABfAE0AYQByAGsAaQBuAGcAXwBHAHUAaQBkAGUAbABpAG4AZQBzAC4AcABkAGYA|QgB1AHQAdABvAG4AVABlAHgAdAA=&TABhAGQAZABhACAAbgBlAGQAIABoAOQAcgA=" data-hash="yiMUfL3/2kMpvJhdN5vkpceA7hMyWUB2oDdnQ1y74gk="

#61416
Sep 19, 2012 13:57
Vote:
 

The solution in my case was to have exactly the same assembly versions in all environments.

#61456
Sep 20, 2012 7:24
Vote:
 

Copied the whole bin folder from my development machine to the test machine but problem remains. Anybody got some further indight on the problem? This is quite a drawback with a demo coming up tomorrow.

#61778
Oct 01, 2012 18:01
Vote:
 

Check the file version of your EPIServer.DLL in the GAC on both enviroments.

#61838
Oct 03, 2012 15:37
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.