逻辑应用程序工作流程 - 平面文件编码错误 - 无效架构

问题描述 投票:0回答:1

我有一个逻辑应用工作流程,对 XML 文件使用平面文件编码步骤。 我已将 XSD 文件上传到逻辑应用程序的工件/架构位置。 当我运行工作流程时,我在平面文件编码步骤中看到以下错误:

“没有模式具有指定的目标命名空间 http://B3.Schemas.Invoices”

我已在 XSD 文件中指定了目标命名空间,因此不确定为什么会看到此错误?

XSD 架构(存储在逻辑应用程序工件/架构区域中):

<?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:vs="http://B3.Schemas.Invoices" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://B3.Schemas.Invoices"  xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="Header">
     <xs:complexType>
      <xs:sequence>
        <xs:element name="processSendTime" type="xs:string"/>
         <xs:element name="processTarget" type="xs:string"/>
         <xs:element name="processType" type="xs:string"/>
        <xs:element name="processDescription" type="xs:string"/>
         <xs:element name="processLogID" type="xs:string"/>
        <xs:element name="fileSequenceID" type="xs:string"/>
         <xs:element name="processSource" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
   </xs:element>
</xs:schema>

测试文件示例:

<?xml version="1.0" encoding="utf-8"?>
 <vs:Invoices xmlns:vs="http://B3.Schemas.Invoices">
   <Header>
     <processSendTime>2024-04-09T22:00:05</processSendTime>
     <processTarget></processTarget>
     <processType></processType>
     <processDescription></processDescription>
     <processLogID>90906422</processLogID>
     <fileSequenceID>85707</fileSequenceID>
     <processSource>Biblio3</processSource>
 </Header>
</vs:Invoices>

我已尝试使用上述文件测试我的逻辑应用程序工作流程并看到所描述的错误。

xml xsd azure-logic-apps
1个回答
0
投票

按如下方式更正您的 XSD 架构以获得预期响应。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:vs="http://B3.Schemas.Invoices" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://B3.Schemas.Invoices" xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="Invoices">
     <xs:complexType>
       <xs:sequence>
         <xs:element name="Header">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="processSendTime" type="xs:string"/>
               <xs:element name="processTarget" type="xs:string"/>
               <xs:element name="processType" type="xs:string"/>
               <xs:element name="processDescription" type="xs:string"/>
               <xs:element name="processLogID" type="xs:string"/>
               <xs:element name="fileSequenceID" type="xs:string"/>
               <xs:element name="processSource" type="xs:string"/>
             </xs:sequence>
           </xs:complexType>
         </xs:element>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
</xs:schema>

我能够得到预期的回应。

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.