000038851 - XML data feed faulting with read content method error in RSA Archer

Document created by RSA Customer Support Employee on May 22, 2020
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000038851
Applies ToRSA Product Set: RSA Archer
RSA Version/Condition: 6.x
 
IssueThe execution of an XML data feed is faulting with the following message in the Archer user interface.
User-added image

The Logs show the following error:

<ApplicationData>
        <TraceData>
            <DataItem>
                <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
                    <TraceIdentifier>ArcherTech.DataFeed</TraceIdentifier>
                    <Description>Error during execution of channel.</Description>
                    <AppDomain>ArcherTech.JobFramework.Job.exe</AppDomain>
                    <ContextData>
                        <LogReferenceId>050520-201948-9407</LogReferenceId>
                        <DataFeedId>1356</DataFeedId>
                        <DataFeedName>VMT__Device_IP_Addresses_1</DataFeedName>
                        <DataFeedHistoryId>384922</DataFeedHistoryId>
                    </ContextData>
                    <Exception>
                        <ExceptionType>System.Reflection.TargetInvocationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                        <Message>Exception has been thrown by the target of an invocation.</Message>
                        <Source>mscorlib</Source>
                        <ContextData>
                            <ChannelName>ArcherTech.DataFeed.Channel.Components.ContentWriterComponent</ChannelName>
                        </ContextData>
                        <StackTrace>   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at ArcherTech.ChannelFramework.Channel.Execute()
   at ArcherTech.DataFeed.ComponentModel.DataFeedChannelActivity.ExecuteInternal()</StackTrace>
                        <InnerException>
                            <ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                            <Message>The ReadContentAs method is not supported on node type Element. If you want to read typed content of an element, use the ReadElementContentAs method. Line 19, position 23.</Message>
                            <Source>System.Xml</Source>
                            <StackTrace>   at System.Xml.XmlReader.ReadContentAs(Type returnType, IXmlNamespaceResolver namespaceResolver)
   at ArcherTech.ChannelFramework.Xml.XmlEntityElementMetadata.ParseString(XmlReader r, Boolean nil)
   at ArcherTech.ChannelFramework.Xml.XmlEntityMetadata.&lt;&gt;c__DisplayClass33_0.&lt;BuildEntityListAction&gt;b__1(XmlReader r)
   at ArcherTech.ChannelFramework.Readers.XmlReaderExtensions.ProcessChildElements(XmlReader reader, Boolean throwOnUnexpected, NamedAction[] actions)
   at ArcherTech.ChannelFramework.Xml.XmlEntityMetadata.&lt;&gt;c__DisplayClass36_0.&lt;BuildStandardParseDataDelegate&gt;b__1(XmlReader reader)
   at ArcherTech.ChannelFramework.Readers.XmlReaderExtensions.&lt;ConvertChildElements&gt;d__3`1.MoveNext()
   at System.Linq.Enumerable.&lt;SelectManyIterator&gt;d__17`2.MoveNext()
   at ArcherTech.ChannelFramework.ITimedEnumerableBase`1.IEnumeratorBase`1.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at ArcherTech.DataFeed.Channel.Components.ContentWriterEnumerable.PreProcessValuesList(IXmlEntityEnumerable entityEnumerable)
   at ArcherTech.DataFeed.Channel.Components.ContentWriterEnumerable.&lt;GetEnumerable&gt;d__7.MoveNext()
   at ArcherTech.DataFeed.Channel.Components.ContentWriterComponent.Execute()
   at ArcherTech.ChannelFramework.ExecuteComponent`1.ComponentExecute()</StackTrace>
                        </InnerException>
                    </Exception>
                </TraceRecord>
            </DataItem>
        </TraceData>
    </ApplicationData>
</E2ETraceEvent>


 
CauseThe issue is due to an error in the source file being processed.
The snippet within the logs gives the location of the point of failure.

For example, 
The issue could be due to multiple or duplicate tag lines in the file such as  "<PREFERRED_ENGINE_IP><Value></Value></PREFERRED_ENGINE_IP>" in the XML data feed source file being processed. 

Following is the example:
 

<ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                            <Message>The ReadContentAs method is not supported on node type Element. If you want to read typed content of an element, use the ReadElementContentAs method. Line 219, position 23.</Message>
                            <Source>System.Xml</Source>



 
ResolutionThe solution is to reproduce the issue and locate the latest log entry to identify the point of failure. Line and position should provide the location within the XML source file.
You may need to manually correct it or if you are using automation to create the source file, you should make adjustments and corrections to the system that is creating the source file.

Attachments

    Outcomes