Trasformare XML in flussi di lavoro con App per la logica di Azure

Si applica a: App per la logica di Azure (consumo + standard)

Negli scenari business-to-business (B2B) di integrazione aziendale potrebbe essere necessario convertire XML tra formati. Il flusso di lavoro dell'app per la logica può trasformare il codice XML usando l'azione Trasforma XML e una mappa predefinita.

Si supponga, ad esempio, di ricevere regolarmente ordini B2B o fatture da un cliente che usa il formato data YearMonthDay (AAAAMMGG). Tuttavia, l'organizzazione usa il formato di data MonthDayYear (MMDDYYYYY). È possibile creare e usare una mappa che trasforma il formato YearMonthDay nel formato MonthDayYear prima di archiviare i dettagli dell'ordine o della fattura nel database attività del cliente.

Prerequisiti

  • Account e sottoscrizione di Azure. Se non si ha ancora una sottoscrizione, iscriversi per ottenere un account Azure gratuito.

  • Flusso di lavoro dell'app per la logica che inizia già con un trigger in modo da poter aggiungere l'azione Trasforma XML , se necessario nel flusso di lavoro.

  • Risorsa dell'account di integrazione in cui si definiscono e archivia elementi, ad esempio partner commerciali, contratti, certificati e così via, per l'uso nei flussi di lavoro di integrazione aziendale e B2B. Questa risorsa deve soddisfare i requisiti seguenti:

    • È associato alla stessa sottoscrizione di Azure della risorsa dell'app per la logica.

    • Esiste nella stessa località o nella stessa area di Azure della risorsa dell'app per la logica in cui si prevede di usare l'azione Trasforma XML .

    • Se si lavora a una risorsa e a un flusso di lavoro dell'app per la logica a consumo, l'account di integrazione richiede gli elementi seguenti:

      • Mappa da utilizzare per trasformare il contenuto XML.

      • Collegamento alla risorsa dell'app per la logica.

    • Se si usa una risorsa e un flusso di lavoro dell'app per la logica Standard, è possibile collegare l'account di integrazione alla risorsa dell'app per la logica, caricare le mappe direttamente nella risorsa dell'app per la logica o entrambe, in base agli scenari seguenti:

      • Se si ha già un account di integrazione con gli artefatti necessari o da usare, è possibile collegare l'account di integrazione a più risorse dell'app per la logica Standard in cui si vogliono usare gli artefatti. In questo modo, non è necessario caricare mappe in ogni singola app per la logica. Per altre informazioni, vedere Collegare la risorsa dell'app per la logica all'account di integrazione.

      • Se non si ha un account di integrazione o si prevede di usare gli artefatti in più flussi di lavoro all'interno della stessa risorsa dell'app per la logica, è possibile aggiungere direttamente mappe alla risorsa dell'app per la logica usando il portale di Azure o Visual Studio Code.

        Nota

        Il connettore predefinito Liquid consente di selezionare una mappa caricata in precedenza nella risorsa dell'app per la logica o in un account di integrazione collegato, ma non entrambi.

      Pertanto, se non si ha o non è necessario un account di integrazione, è possibile usare l'opzione di caricamento. In caso contrario, è possibile usare l'opzione di collegamento. In entrambi i casi, è possibile usare questi artefatti in tutti i flussi di lavoro figlio all'interno della stessa risorsa dell'app per la logica.

    È comunque necessario un account di integrazione per archiviare altri artefatti, ad esempio partner, contratti e certificati, insieme all'uso delle operazioni AS2, X12 ed EDIFACT .

Aggiungere l'azione Trasforma XML

  1. Nella portale di Azure aprire l'app per la logica Standard e il flusso di lavoro nella finestra di progettazione.

  2. Se si dispone di un flusso di lavoro vuoto che non dispone di un trigger, seguire questa procedura generale per aggiungere qualsiasi trigger desiderato. In caso contrario, continuare con il passaggio successivo.

    In questo esempio viene usato il trigger Request .

  3. Nel passaggio del flusso di lavoro in cui si vuole aggiungere l'azione Trasforma XML seguire questa procedura generale per aggiungere l'azione denominata Transform XML.

  4. Nella casella Contenuto specificare il contenuto XML che si desidera trasformare usando tutti i dati XML ricevuti nella richiesta HTTP.

    1. Per selezionare gli output delle operazioni precedenti nel flusso di lavoro, nell'azione Trasforma XML fare clic all'interno della casella Contenuto e selezionare l'opzione elenco di contenuto dinamico (icona a forma di fulmine).

    2. Nell'elenco di contenuto dinamico selezionare il token per il contenuto che si vuole trasformare.

      Screenshot shows Standard workflow with opened dynamic content list.

      In questo esempio viene selezionato il token Body dal trigger.

      Nota

      Assicurarsi di selezionare Contenuto XML. Se il contenuto non è XML o è codificato in base64, è necessario specificare un'espressione che elabora il contenuto. Ad esempio, è possibile usare funzioni di espressione, ad esempio base64ToBinary() per decodificare il contenuto o xml() per elaborare il contenuto come XML.

  5. Nell'elenco Origine mappa selezionare la posizione in cui è stata caricata la mappa, la risorsa LogicApp o IntegrationAccount.

  6. Nell'elenco Mappa selezionare la mappa.

  7. Al termine, salvare il flusso di lavoro.

    A questo punto è stata completata la configurazione dell'azione Trasforma XML . In un'app reale, è possibile archiviare i dati trasformati in un'app line-of-business (LOB), ad esempio SalesForce. Per inviare l'output trasformato a Salesforce, aggiungere un'azione Salesforce.

  8. Per testare l'azione di trasformazione, attivare ed eseguire il flusso di lavoro. Ad esempio, per il trigger Di richiesta, inviare una richiesta all'URL dell'endpoint del trigger.

    L'azione Trasforma XML viene eseguita dopo l'attivazione del flusso di lavoro e quando il contenuto XML è disponibile per la trasformazione.

Funzionalità avanzate

Fare riferimento agli assembly o chiamare codice personalizzato dalle mappe

L'azione Trasforma XML supporta il riferimento agli assembly esterni dalle mappe, che consentono di chiamare direttamente codice .NET personalizzato dalle mappe XSLT. Per altre informazioni, vedere Aggiungere mappe XSLT per i flussi di lavoro in App per la logica di Azure.

Oggetti di estensione di riferimento

Nei flussi di lavoro Standard l'azione Trasforma XML supporta la specifica di un oggetto estensione XML da utilizzare con la mappa.

  1. Nell'azione Trasforma XML aprire l'elenco Parametri avanzati e selezionare Oggetto estensione XML, che aggiunge il parametro all'azione.

  2. Nella casella Xml Extension Object (Oggetto estensione XML) specificare l'oggetto di estensione, ad esempio:

    Screenshot shows Transform XML action with XML Extension Object parameter and value.

Byte order mark

Per impostazione predefinita, la risposta della trasformazione inizia con un indicatore di ordine dei byte (BOM). È possibile accedere a questa funzionalità solo quando si lavora nell'editor della visualizzazione codice. Per disabilitare questa funzionalità, impostare la transformOptions proprietà su disableByteOrderMark:

"Transform_XML": {
    "inputs": {
        "content": "@{triggerBody()}",
        "integrationAccount": {
            "map": {
                "name": "TestMap"
            }
        },
        "transformOptions": "disableByteOrderMark"
    },
    "runAfter": {},
    "type": "Xslt"
}

Passaggi successivi