BizTalk 2020默认XML传输管道处理时查找文档规范失败问题求助
问题根因分析
BizTalk中架构的消息类型规则为 {targetNamespace}#{根节点名称},该报错的核心原因是XML实例的消息类型与已部署的架构消息类型不匹配:
- 你部署的XSD定义了
targetNamespace="http://UsingXMLPipeline.MMD",对应架构的消息类型为http://UsingXMLPipeline.MMD#InputToProcess - 你提交的XML实例根节点
<InputToProcess>未携带对应命名空间,BizTalk解析后得到的消息类型仅为#InputToProcess,与已部署的架构无法匹配,因此查找失败。
解决方案
可选择任意一种方式修复:
方案1:修改XML实例补充命名空间
在XML根节点添加和XSD匹配的命名空间声明,修改后XML开头如下:
<?xml version="1.0" encoding="UTF-8"?> <InputToProcess xmlns="http://UsingXMLPipeline.MMD"> <Item>
方案2:修改XSD移除targetNamespace配置
如果业务场景不需要命名空间,可删除XSD中的targetNamespace属性、默认命名空间声明,修改后XSD开头如下:
<?xml version="1.0"?> <xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="InputToProcess">
修改完成后重新部署架构、重启主机实例即可生效。
内容的提问来源于stack exchange,提问作者james treinen
相关产品推荐
相关产品推荐

