000037357 - RSA Archer export to CSV fails and the error "Invalid Transform: The stylesheet is too complex." is logged

Document created by RSA Customer Support Employee on Apr 24, 2019
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000037357
Applies ToRSA Product Set: Archer
RSA Product/Service Type: RSA Archer (SaaS)
RSA Version/Condition: 6.4, 6.5
Platform: Windows
 
IssueUsers get the below error message when attempting to export to CSV format.
User-added image

Additionally, the following error is logged.

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
    <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
        <EventID>1</EventID>
        <Type>3</Type>
        <SubType Name="Error">0</SubType>
        <Level>2</Level>
        <TimeCreated SystemTime="2019-02-20T22:22:59.3329392Z" />
        <Source Name="Archer.NET" />
        <Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
        <Execution ProcessName="w3wp" ProcessID="2220" ThreadID="38" />
        <AssemblyVersion>6.5.200.1045</AssemblyVersion>
        <Channel />
        <Computer>USCSOJOA1L1C</Computer>
    </System>
    <ApplicationData>
        <TraceData>
            <DataItem>
                <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
                    <TraceIdentifier>Archer.NET</TraceIdentifier>
                    <Description>Invalid Transform: The stylesheet is too complex.</Description>
                    <AppDomain>/LM/W3SVC/1/ROOT/RSAarcher-1-131951747748564577</AppDomain>
                    <Exception>
                        <ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                        <Message>Invalid Transform: The stylesheet is too complex.</Message>
                        <Source>ArcherTech.ChannelFramework.Reporting</Source>
                        <StackTrace>   at ArcherTech.ChannelFramework.Reporting.Xslt.XsltGridReport.RenderReport(XmlReader data, Stream output)
   at ArcherTech.PrintExport.PrintExportService.RenderRecordData(SessionContext sessionContext, PrintExportCriteria printExportCriteria, Boolean printLayout, Stream output)
   at ArcherTech.Web.Modules.Foundation.Views.PrintExportPresenter.ExportRecord(SessionContext sessionContext, PrintExportCriteria printExportCriteria)</StackTrace>
                        <InnerException>
                            <ExceptionType>System.Xml.Xsl.XsltException, System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                            <Message>The stylesheet is too complex.</Message>
                            <Source>System.Data.SqlXml</Source>
                            <StackTrace>   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
   at System.Xml.Xsl.Qil.QilDepthChecker.Check(QilNode input, Int32 depth)
...
  at System.Xml.Xsl.Xslt.QilGenerator.Compile(Compiler compiler)
   at System.Xml.Xsl.Xslt.Compiler.Compile(Object stylesheet, XmlResolver xmlResolver, QilExpression&amp; qil)
   at System.Xml.Xsl.XslCompiledTransform.LoadInternal(Object stylesheet, XsltSettings settings, XmlResolver stylesheetResolver)
   at ArcherTech.ChannelFramework.Reporting.Xslt.XsltGridReport.RenderReport(XmlReader data, Stream output)


 
CauseThis issue is caused by a defect in the .NET Framework version 4.5 and later.
Resolution
This is a Microsoft defect that Microsoft will be fixing in the future.
Workaround
  1. On each web server for the instance, edit the web.config file associated with the Archer site.
    (By default, the web.config is located in C:\inetpub\wwwroot\RSAarcher or C:\inetpub\wwwroot)
     
  2. Add a blank line before </ConfigSections> and paste in the below:

    <sectionGroup name="system.xml">
      <section name="xslt" type="System.Xml.XmlConfiguration.XsltConfigSection, System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
    </sectionGroup>

  3. Add a blank line after </ConfigSections> and paste in the below:
     

    <system.xml>
       <xslt limitXPathComplexity="false"/>
     </system.xml>


 

Attachments

    Outcomes