XML elemzése sémák használatával standard munkafolyamatokban Azure Logic Apps

A következőkre vonatkozik: Azure Logic Apps (Standard)

Nagyvállalati integrációs forgatókönyvekben, például üzleti vállalkozások közötti (B2B) vagy BizTalk-migrálások esetén előfordulhat, hogy XML-dokumentumokat kell elemeznie. A Azure Logic Apps szabványos logikai alkalmazás-munkafolyamatai elemezhetik az XML-t a Parse XML séma nevű művelettel, amelyhez XSD-séma szükséges.

Tegyük fel például, hogy rendszeresen kap vevői rendeléseket vagy számlákat XML formátumban. Tegyük fel, hogy közvetlenül hozzá kell férnünk az egyes XML-elemekhez az Azure Logic Apps munkafolyamat-tervezőjében.

Korlátozások

A Használat logikai alkalmazás erőforrása és munkafolyamata nem támogatja ezt a műveletet.

Előfeltételek

  • Egy Azure fiók és előfizetés. Ingyenes Azure fiók létrehozása.

  • Egy standard logikai alkalmazás munkafolyamata, amely egy eseményindítóval kezdődik, hogy az XML elemzését sémával hozzáadja a munkafolyamathoz.

  • Egy integrációs fiók erőforrása, ahol definiálhat és tárolhat elemeket, például kereskedelmi partnereket, megállapodásokat, tanúsítványokat és más típusú elemeket, amelyeket használni lehet a vállalati integráció és B2B munkafolyamatok során. Az erőforrásnak meg kell felelnie a következő követelményeknek:

    • Ugyanazzal a Azure előfizetéssel van társítva, mint a logikai alkalmazás erőforrása.

    • Ugyanazon a helyen vagy Azure régióban található, mint a logikai alkalmazás erőforrása, ahol a Parse XML-t séma művelettel szeretné használni.

    • Ha standard logikaialkalmazás-erőforráson és munkafolyamaton dolgozik, az integrációs fiókot összekapcsolhatja a logikai alkalmazás erőforrásával, XSD-sémákat tölthet fel közvetlenül a logikai alkalmazás erőforrásához, vagy mindkettőt a következő forgatókönyvek alapján:

      • Ha már rendelkezik az Ön számára szükséges vagy használni kívánt artefaktumokat tartalmazó integrációs fiókkal, akkor ezt az integrációs fiókot több szabványos logikai alkalmazás-erőforráshoz is csatolhatja, ahol ezeket az artefaktumokat használni szeretné. Nem kell XSD-sémákat feltöltenie minden egyes logikai alkalmazásba. További információ: A logikai alkalmazás erőforrásának csatolása az integrációs fiókhoz.

      • Ha nem rendelkezik integrációs fiókkal, vagy csak azt tervezi, hogy az elemeket az azonos logikai alkalmazás erőforrásán belül több munkafolyamatban is használja, közvetlenül hozzáadhat sémákat a logikai alkalmazás erőforrásához az Azure Portal vagy a Visual Studio Kód használatával.

      • Ha nincs vagy szüksége van integrációs fiókra, használhatja a feltöltési lehetőséget. Ellenkező esetben használja a csatolási lehetőséget. Mindkét esetben használhatja ezeket az elemeket az összes alfolyamatban ugyanabban a logikai alkalmazáserőforrásban.

      Az AS2, X12 és EDIFACT műveletekhez továbbra is szüksége van egy integrációs fiókra, az olyan elemeket, mint a partnerek, megállapodások és tanúsítványok tárolására.

  • Az XSD-séma, amelyet az XML elemzése séma alapján művelettel használ. Győződjön meg arról, hogy ez a séma tartalmaz egy gyökérelemet, amely a következő példához hasonlóan néz ki:

    <xs:element name="Root">
        <....>
    </xs:element>
    

Adjon hozzá egy XML elemzés műveletet séma alapján

  1. Az Azure portalban nyissa meg a standard logikai alkalmazást és a munkafolyamatot a tervezőben.

  2. Ha olyan üres munkafolyamata van, amely nem rendelkezik eseményindítóval, kövesse az alábbi általános lépéseket a kívánt eseményindító hozzáadásához. Ha nem, folytassa a következő lépéssel.

    Ez a példa a Kérelem eseményindítót használja.

  3. A munkafolyamat azon lépése alatt, amelyhez a séma szerinti XML elemzést szeretné hozzáadni, kövesse az alábbi általános lépésekkövetésével adja hozzá az 'XML elemzése séma szerint' műveletet.

  4. A Tartalom mezőben adja meg az elemezni kívánt XML-tartalmat a HTTP-kérelemben kapott XML-adatok használatával.

    1. A munkafolyamat korábbi műveleteiből származó kimenetek kiválasztásához a sémaművelettel rendelkező XML-elemzésben jelölje ki a Tartalom mezőben, majd válassza a dinamikus tartalomlista lehetőséget (villám ikon).

    2. A dinamikus tartalomlistában válassza ki az elemezni kívánt tartalom jogkivonatát.

      Ez a példa a Body tokent választja ki az eseményindítóból.

      A megnyitott dinamikus tartalomlistával rendelkező Standard munkafolyamat képernyőképe.

  5. A Forráslistában válassza ki azt a helyet, ahová feltöltötte az XSD-sémát, vagy a LogicApp-erőforrást vagy az IntegrationAccountot.

  6. A Név listából válassza ki az XSD-sémát.

  7. Miután végzett, mentse a munkafolyamatot.

    Most már befejezte a XML séma alapján történő elemzés beállítását. Egy valós alkalmazásban érdemes lehet az elemzési adatokat egy üzletági (LOB) alkalmazásban, például a Salesforce-ban tárolni. Ha el szeretné küldeni az elemzési kimenetet a Salesforce-nak, adjon hozzá egy Salesforce-műveletet.

  8. Az elemzési művelet teszteléséhez indítsa el és futtassa a munkafolyamatot. A Kérés eseményindítóhoz például küldjön egy kérést az eseményindító végponti URL-címére.

    A Séma szerinti XML elemzése művelet a munkafolyamat aktiválása után fut, és amikor elérhető XML-tartalom az elemzéshez.

Speciális paraméterek

Az alábbi táblázat az ebben a műveletben elérhető speciális paramétereket ismerteti:

Paraméter Érték Leírás
DTD-feldolgozás - Semmibe vesz
- Elemzés
- Megtilt
Adja meg az XML-dokumentumtípus definíciójának (DTD) kezelését.
XML normalizálása Nem vagy Igen Az XML-tartalom normalizálása.
Figyelmen kívül hagyja az üres karaktereket? Nem vagy Igen Elemezheti vagy figyelmen kívül hagyhatja-e a jelentéktelen szóközöket, például szóközöket, tabulátorokat és üres sorokat az XML-dokumentumokban.
Figyelmen kívül hagyja az XML-feldolgozási utasításokat? Nem vagy Igen Kövesse vagy hagyja figyelmen kívül az XML-feldolgozási utasításokat.
XML-attribútumok figyelmen kívül hagyása Nem vagy Igen Xml-attribútumok írása vagy figyelmen kívül hagyása.
Használni a teljes körű neveket? Nem vagy Igen Egyszerűbb helyi neveket vagy teljes XML-neveket használjon.
Gyökércsomópont minősített neve < root-node-megfelelő-neve> A gyökércsomópont minősített neve abban az esetben, ha a séma több nem hivatkozott elemdefiníciót tartalmaz.

Problémák elhárítása

Ez a szakasz az esetlegesen felmerülő problémákat, valamint a problémák megoldására használható lehetséges megoldásokat vagy kerülő megoldásokat ismerteti.

Az XML-elem sorrendje nem marad meg

Ha az XML ismétlődő elemeket tartalmaz, amelyek vegyes sorrendben jelennek meg, előfordulhat, hogy a sémaművelettel rendelkező XML elemzése nem őrzi meg az eredeti sorrendet, és a nevük alapján betűrendbe rendezi ezeket az elemeket.

Ez a viselkedés azért várható, mert a sémaművelettel rendelkező XML elemzése JSON-ra konvertálja az XML-t. Ez a formátum nem használható egyetlen, különböző típusú elemekkel rendelkező rendezett lista ábrázolására. Ehelyett a művelet betűrendbe rendezi az elemeket név szerint.

Tegyük fel például, hogy a következő neveket tartalmazó elemek vannak ebben a sorrendben: A, B, , B: A

előtt

<Items>
   <A>1</A>
   <B>2</B>
   <A>3</A>
   <B>4</B>
</Items>

Miután a művelet elemezte az XML-t, az eredményül kapott JSON-csoportok és az elemek átrendezése név szerint az alábbiak szerint történik: A, A, és BB:

után

{
   "A": ["1", "3"],
   "B": ["2", "4"]
}

A sémaművelettel rendelkező XML elemzése nem rendelkezik olyan beállítással, amely megőrzi a vegyes ismétlődő elemek sorrendjét. Ez a korlátozás az XML JSON-ra való konvertálásából ered.

Az alábbi lista a probléma megoldására vagy megkerülésére szolgáló lehetőségeket ismerteti:

  • Ha a sémát vezérli, úgy tervezheti meg a sémát, hogy csak egy ismétlődő lista legyen több ismétlődő elemtípus nélkül.

    Például ahelyett, hogy külön ismételjük a A és B elemeket, használjunk egyetlen ismétlődő burkolóelemet, például a Item-t. Ezután minden elem jelzi, hogy A vagy B van-e ábrázolva. A rendszer ezután megtarthatja az összes elemet egyetlen rendezett listában, és megőrizheti az eredeti sorrendet. Ez a lehetőség a legjobb a hosszú távú, kiszámítható viselkedéshez.

  • Ha az eredeti sorrend kötelező vagy kritikus, ne elemezze az XML-fájlt.

    • Ne bontsa fel az XML-t JSON-ra.
    • Kezelje az XML-dokumentum egészét.
    • Adja át az XML-dokumentumot változatlanul, vagy alakítsa át a tartalmat XML-alapú eszközökkel, például az XSLT-sel.
  • Tartsa szem előtt ezt a korlátozást.

    Ha nem tudja módosítani a sémát vagy a munkafolyamatot, jegyezze meg a következőket:

    • A vegyes ismétlődő elemek elemnév szerint vannak csoportosítva, és elveszítik az eredeti sorrendet.
    • Az alsóbb rétegbeli logikát ennek a viselkedésnek a szem előtt tartásával kell megtervezni.