没有 Disassemble 阶段组件可以识别数据管道默认值:XMLRECEIVE

问题描述

我有一个带有 1 个发送端口和 1 个接收端口 (RP) 的 Biztalk 应用程序。接收端口具有认管道:XMLRecieve with validate Document= true 并选择正确的模式路径(采用正确的格式,如 BizTalk_Server_Project1.Schema1、BizTalk Server Project1、Version=1.0.0.0、Culture=neutral、PublicKeyToken=b64a0508dbe93103)。 我也有简单的 xsd 架构: [![在此处输入图片描述][1]][1]

和简单的 xml 文件 [![在此处输入图片描述][2]][2]

我将原始 XML 放在 Receive Port 文件夹中并运行该应用程序。 应用程序从文件夹中取出原始 XML,但不要放入输出文件夹中。

在 BizTalk 管理控制台中,我看到两个错误。 [![在此处输入图像描述][3]][3] [![在此处输入图片描述][4]][4]

请有人帮我解决这个问题。 P.S 在我的简单项目中,我没有任何编排。 [1]:https://i.stack.imgur.com/8VNm9.png [2]:https://i.stack.imgur.com/m1mqe.png [3]:https://i.stack.imgur.com/Dx75F.png [4]:https://i.stack.imgur.com/k77yv.png

<!--xsd schema-->
<?xml version="1.0" encoding="UTF-16"?>
<xs: schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="MyTargetNameSpace...etc"
xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http:/MyServersName...etc"
xmlns:ns0="http://MyServersName...etc">
    <xs:import namespace ="http://MyServersName...etc" schemaLocation=".\SchemaEnvelope1.xsd"/>
    <xs:annotation>
        <xs:appinfo>
            <b:references>
                <b:reference targetNamespace = "http://MyServersName..SchemaEnvelope1"/>
            </b:references> 
        </xs:appinfo>
    </xs:annotation>
    <xs:element name="Car">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Color" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

<!--xml document-->
<?xml version="1.0" encoding="UTF-8"?>
<Car xsi: noNamespaceSchemaLocation="CarTestSchema1.xsd" xmlns:xsi="http://www,w3,org/2001/XMLSchema">
    <Color>Red</Color>
</Car>

错误

执行接收管道失败:“Microsoft.BizTalk.DefaultPipelnes.XMLReceive、Microsoft.BizTalk.DefaultPipelnes、 版本=3.0.1.0,Culture=neural,PublicKeyToken =*****d364e35" 来源:"XML 反汇编程序" 接收端口:"ReceivePort1" URI:“接收xml文件的路径”原因:没有反汇编阶段组件可以识别数据。

解决方法

我有两个错误。

  1. 我在接收端口中写入的模式路径不正确。我忘了写我的架构名称。
  2. 我没有在我的 XML 文档中编写 xmlns。 XSD 架构和 XML 文档之间没有关系。