【发布时间】:2013-03-18 22:53:19
【问题描述】:
我有一个地图,它为我构建了一条消息,然后将其传递给另一个地图(所有这些都在一个编排中。
检查第一个映射的消息输出,我可以看到该消息包含 EF BB BF 字节顺序标记。
第二个map执行时,抛出异常“根级别的数据无效。第1行,位置61。”:
xlang/s 引擎事件日志条目:未捕获的异常(参见 'inner 例外'下面)已暂停服务实例 'MyCompany.MyOrchestration(004464ca-1c34-e342-591d-5e8182a4be18)'。
服务实例将保持暂停状态,直到管理 恢复或终止。
如果恢复,实例将从其继续 最后持久的状态,并可能重新抛出相同的意外异常。
InstanceId:62d99333-8dc4-4ca4-9e5b-7fdf8583e081 形状名称:conCDA
ShapeId: ba722b56-c115-4abb-b40c-211824369266
抛出异常: 段 1,进度 15
内部异常:根级别的数据是 无效的。第 1 行,位置 61。
异常类型:XmlException
来源:System.Xml
目标站点:Void Throw(System.Exception) 以下是堆栈跟踪 标识异常发生的位置在 System.Xml.XmlTextReaderImpl.Throw(Exception e)
在 System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
在 System.Xml.XmlTextReaderImpl.ParseDocumentContent()
在 System.Xml.XmlTextReaderImpl.Read()
在 System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
at System.Xml.XmlLoader.Load(XmlDocument 文档,XmlReader 阅读器,布尔值 preserveWhitespace)
在 System.Xml.XmlDocument.Load(XmlReader 阅读器)
在 System.Xml.XmlDocument.Load(TextReader txtReader)
在 Microsoft.XLANGs.Core.Service.Transform.ShredXmlDocument(流 inStream, Object[] outParams, String mapName, XmlDeclaration xmlDecl)
在 Microsoft.XLANGs.Core.Service.ApplyInMemoryTransform(类型 mapRef, TransformMetaData trfMetaData, Object[] outParams, Stream[] inStreams)
在 Microsoft.XLANGs.Core.Service.ApplyTransform(Type mapRef, Object[] outParams, Object[] inParams)
在 MyCompany.MyOrchestration.segment1(停止条件 stopOn)
在 Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
如何让第一张地图不添加字节顺序标记?
编辑: 第一个映射是一个映射,在输入端有两条消息,它们映射到输出端的一条消息。第一条消息使用结构链接映射所有节点,第二条消息使用大量复制功能。即使在字节级别查看消息,我在字符 61 处也看不到任何有趣的字符。我可以看到 BOM,这就是为什么我认为这是问题所在。
【问题讨论】:
标签: biztalk biztalk-2010 biztalk-mapper