我有一个包含以下组件的自定义发送管道:
预组装:
汇编
编码
使用此配置,我总是在"自定义组件2"中获得XmlSchemaException。 "异常消息是"该元素不能包含空格。内容模型为空。"
Execute(IPipelineContext pContext, IBaseMessage pInMsg)
{
ReadOnlySeekableStream stream = new ReadOnlySeekableStream(pInMsg.BodyPart.GetOriginalDataStream());
XDocument doc;
//Exception on next line:
using(XmlReader reader = XmlReader.Create(stream))
{
reader.MoveToContent();
}
}
这很奇怪,因为我删除了例如"自定义组件1"或者" XML验证器",它可以正常工作。当我拥有所有3个组件时,我才会得到例外。
任何想法我可能需要检查以使其适用于所有组件?
谢谢你,最诚挚的问候 迈克尔
答案 0 :(得分:0)
很可能你的组件1添加了一个带有一些无效值的XmlElement节点,例如为复杂类型节点(记录节点)(<Order><price></price></Order> adding empty value after <Order> and then <price> comes)
添加空值。
如果您在消息到达组件1之前使用映射来创建Xml,那么它也可能在那里发生。