下午好,
我遇到了一个奇怪的BizTalk业务流程问题。
我的业务流程的第一个接收形状失败,并显示以下消息:
There was a failure executing the receive pipeline:
"Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines
Source: "XML disassembler"
Receive Port: "ReceiveCanonicalPort"
Reason: Finding the document specification by message type
"http://www.openapplications.org/oagis/9#ProcessInvoice" failed.
Verify the schema deployed properly.
我把一个测试文档和前几行放在一起,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<ProcessInvoice
xmlns="http://www.openapplications.org/oagis/9"
releaseID="9.0"
targetNamespace="http://www.openapplications.org/oagis/9"
>
我已经检查过的内容:
我检查了架构: 目标命名空间是'http://www.openapplications.org/oagis/9' 根节点是'ProcessInvoice'
架构验证。
我的输入文件会根据架构进行验证。
我已经检查过部署了架构。
我已经查看是否有另一个具有重复命名空间和根节点的模式。
我重新启动了主机实例并重新部署了几次。
我尝试将xml反汇编程序'允许无法识别的消息'属性设置为true。这导致对象未设置为实例异常。这似乎表明它没有反序列化。
我向伟大的神Boogie祈祷。
还有其他想法吗?
由于
答案 0 :(得分:8)
您必须在另一个程序集中的某处定义该架构的另一个版本。
您确定已检查过每个可能的应用程序(包括BizTalk Application 1)吗?
我能想到的唯一另一件事就是你可能在配置文件中有一个程序集重定向,它重定向到一个不存在的版本,但是我不确定如果是这种情况你甚至会得到你观察到的行为
另一件事 - 可能是旧版本的架构是GAC并且主机实例仍然拥有它。尝试重新启动以确保。
希望这有帮助。