C# Biztalk自定义管道组件:XmlSchemaException
我有一个带有以下组件的自定义发送管道: 预装配:C# Biztalk自定义管道组件:XmlSchemaException,c#,biztalk,biztalk-2010,C#,Biztalk,Biztalk 2010,我有一个带有以下组件的自定义发送管道: 预装配: 无组件 集合 XML汇编程序 编码 自定义组件1 XML验证程序 自定义组件2 通过这种配置,我总是在“自定义组件2”中得到一个XmlSchemaException。 异常消息是“元素不能包含空格”。内容模型为空。” 这很奇怪,因为当我删除例如“CustomComponent 1”或“XML validator”时,它工作正常。只有当我将所有3个组件都放在适当的位置时,我才会得到异常 你知道我需要检查什么才能让它与所有组件一起工作吗
- 无组件
- XML汇编程序
- 自定义组件1
- XML验证程序
- 自定义组件2
Michael最有可能是组件1添加了一个带有一些无效值的XmlElement节点,例如为复杂类型节点(记录节点)添加空值
(在之后添加空值,然后出现)
。
若在消息到达组件1之前使用映射创建Xml,那个么它也可能发生在组件1中
- 尝试在validate阶段删除自定义组件2和XmlValidator,查看输出xml是如何进入文件夹的,并尝试在notepad++中查看它
- 使用Xml模式验证上述步骤的输出消息
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();
}
}