Condividi tramite


Message Enrichment (esempio di BizTalk Server)

Nell'esempio Message Enrichment viene illustrato come aggiungere intestazioni interscambio ai messaggi dei set di transazioni per i documenti X12 e EDIFACT.

Scopo dell'esempio

In questo esempio viene illustrato come aggiungere intestazioni UNA, UNB e UNG per EDIFACT e intestazioni ISA per X12 nei set di transazioni. In particolare, nell'esempio vengono eseguite le operazioni seguenti:

  1. Quando il messaggio di test viene inviato alla cartella \Message Enrichment\In, la porta di ricezione lo preleva, lo elabora e lo invia al database MessageBox.

  2. Il componente MessageEnrichmentOrchestration preleva il messaggio di test dal MessageBox, perché sottoscrive i messaggi in base a un'espressione di filtro impostata sulla relativa forma di ricezione.

  3. L'orchestrazione legge le intestazioni interscambio dalle proprietà di contesto del messaggio.

    Nota

    Poiché le intestazioni UNA e UNG sono facoltative nei messaggi EDIFACT, è possibile che non siano presenti nelle proprietà di contesto di un messaggio.

  4. L'orchestrazione scrive le intestazioni interscambio e il corpo del messaggio in un unico nuovo messaggio.

  5. L'orchestrazione alza di livello le proprietà aggiuntive impostate nel tipo correlazione ReceivePortNameCorrelationType sul messaggio, che consentono agli utenti dell'orchestrazione di selezionare un elenco delle proprietà necessarie per la sottoscrizione. Le proprietà sono scritte in una forma Costruisci messaggio. Non tutte le proprietà di contesto scritte nel messaggio originale vengono scritte nel nuovo messaggio.

  6. L'orchestrazione invia il nuovo messaggio nel MessageBox.

  7. La porta di trasmissione preleva il nuovo messaggio e lo invia tramite l'adapter FILE nella cartella \Message Enrichment\Out.

Percorso dell'esempio

Questo esempio si trova nella cartella di installazione BizTalk Server: \Programmi (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment.

Nella seguente tabella sono riportati i file inclusi nell'esempio e ne viene descritto lo scopo.

File Descrizione
Cleanup.bat Consente di annullare la distribuzione dello scenario di esempio. A tale scopo, è necessario che non siano presenti istanze attive dell'orchestrazione. In caso contrario, l'operazione non riesce.
MessageEnrichment.sln Contiene i progetti MessageEnrichment e MessageEnrichmentLibrary.
Setup.bat Consente di distribuire uno scenario di esempio costituito da una porta di ricezione, una porta di trasmissione e un'orchestrazione.
EDIFACT_example.edi Messaggio EDIFACT di input.
X12_example.edi Messaggio X12 di input.
MessageEnrichment.btproj Progetto contenente le orchestrazioni e gli schemi MessageEnrichment.
MessageEnrichmentBindings.xml File contenente i binding per l'orchestrazione, le porte e le entità.
MessageEnrichmentOrchestration.odx Orchestrazione che aggiunge le intestazioni al messaggio.
MessageEnrichmentOrchestration.odx.cs Codice dell'orchestrazione che aggiunge le intestazioni al messaggio.
EFACT_D98B_APERAK.xsd Schema EDIFACT per il messaggio di input.
Enriched_EFACT_D98B_APERAK.xsd Schema EDIFACT per il messaggio di output.
X12_00401_864.xsd Schema X12 per il messaggio di input.
Enriched_X12_00401_864.xsd Schema X12 per il messaggio di output.
Headers.xsd Schemi per le intestazioni aggiunte ai messaggi di input.
MessageEnrichmentLibrary.csproj Progetto contenente i file Headers.cs, OrchestrationUtilities.cs e ParseHeaders.cs.
Headers.cs Include le classi che rappresentano i dati delle intestazioni.
OrchestrationUtilities.cs Include i metodi di utilità utilizzati dall'orchestrazione.
ParseHeaders.cs Include i valori predefiniti per UNA utilizzati nei nuovi messaggi. Questi valori provengono dal metodo SerializeEDIFACTHeaders in ParseHeaders.cs.

Modalità di utilizzo dell'esempio

Utilizzare l'esempio come esempio operativo delle operazioni richieste per aggiungere intestazioni interscambio ai messaggi di set di transazioni EDI.

Compilazione e inizializzazione dell'esempio

Per compilare e inizializzare l'esempio Message Enrichment, è necessario compilare e distribuire il progetto BizTalk corrispondente e configurare la porta e l'indirizzo di ricezione, nonché due porte di trasmissione diverse.

Per compilare e distribuire il progetto BizTalk per l'esempio

  1. Usando Notepad.Exe, aprire \Programmi (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\MessageEnrichment\
    MessageEnrichment\properties\AssemblyInfo.cs e aggiungere la riga seguente nella parte inferiore del file:

    [assembly: Microsoft.XLANGs.BaseTypes.BizTalkAssembly(typeof(Microsoft.BizTalk.XLANGs.BTXEngine.BTXService))]  
    
  2. Salvare il file AssemblyInfo.cs modificato e quindi chiudere Blocco note.

  3. In una finestra di comando passare alla cartella seguente:

    \Programmi (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment

  4. Eseguire Setup.bat, che esegue le azioni seguenti:

    • Crea le cartelle di ricezione (in) e invia (out) per questo esempio nella cartella \MessageEnrichment.

    • Scrittura di una coppia di chiavi in MessageEnrichmentLibrary\testkey.snk

    • Compilazione e distribuzione del progetto MessageEnrichmentLibrary.btproj.

    • Compilazione e distribuzione del progetto MessageEnrichment.btproj.

    • Lettura delle informazioni di binding in MessageEnrichmentBindings.xml.

      Nota

      Il binding per il progetto richiede che l'host BizTalk sia contrassegnato come Considerato attendibile in base all'autenticazione. Per utilizzarlo con un host non attendibile, modificare il file MessageEnrichmentBindings.xml e sostituire le voci HostTrusted="true" con HostTrusted="false".

    • Aggiornamento dei binding dell'orchestrazione.

    • Aggiornamento di porte di trasmissione, gruppi di porte di trasmissione e porte di ricezione.

    • Aggiornamento di entità e integrazioni.

    • Avvio della porta di trasmissione.

    • Attiva l'indirizzo di ricezione.

    • Integrazione e avvio dell'orchestrazione.

    A questo punto BizTalk Server è pronto per l'utilizzo dell'esempio.

Esecuzione dell'esempio

Utilizzare la procedura seguente per eseguire l'esempio Message Enrichment.

Per eseguire questo esempio

  1. Copiare il file EDIFACT_examples.edi dalla cartella \MessageEnrichment\Instances nella cartella \MessageEnrichment\In.

  2. Verificare che i file EDIFACT_examples.edi non siano più presenti nella cartella \MessageEnrichment\In e che vengano visualizzati nella cartella \MessageEnrichment\Out.

  3. Aprire il file nella cartella \MessageEnrichment\Out. Verificare che si tratti di una rappresentazione XML del file EDIFACT_examples.edi nella cartella \MessageEnrichment\Instances e che includa lo stesso contenuto del file EDIFACT_examples.edi, con la differenza che il file di output include le intestazioni EDIFACT UNA, UNB e UNG.

  4. Ripetere i passaggi 1 e 2 con il file X12_examples.edi della cartella \MessageEnrichment\Instances.

  5. Aprire il nuovo file nella cartella \MessageEnrichment\Out. Verificare che si tratti di una rappresentazione XML del file X12_examples.edi nella cartella \MessageEnrichment\Instances e che includa lo stesso contenuto del file X12_examples.edi, con la differenza che il file di output include le intestazioni X12 ISA.

Classi o metodi utilizzati nell'esempio

nessuno

Vedere anche

EDI e AS2 (cartella di esempi di BizTalk Server)