Condividi tramite


Esercitazione 3: Tutorial sull'AS2

In questa esercitazione viene configurata una soluzione che riceve e invia messaggi con codifica EDIINT/AS2 su un trasporto HTTP.

Come Funziona la Soluzione della Guida

La soluzione eseguirà le operazioni seguenti:

  • Ricevere un messaggio AS2 da un partner (Fabrikam)

  • Restituire una risposta MDN in modo asincrono al partner

  • Elaborare il payload EDI del messaggio AS2

  • Restituire un riconoscimento 997 al partner (Fabrikam) attraverso AS2

  • Instradare un file XML contenente il payload del messaggio EDI a un'applicazione back-end dell'organizzazione principale (Contoso).

    Annotazioni

    Questa soluzione non usa la firma o la crittografia per garantire la sicurezza dei messaggi AS2.

    Componenti dell'esercitazione

    Questa soluzione userà quanto segue:

  • Filtro ISAPI di ricezione HTTP BTS per ricevere il messaggio AS2/EDI inviato dal mittente (/Contoso/BTSHTTPReceive.dll).

  • Pagina Web ASPX per simulare il partner restituendo un riconoscimento 997 e un MDN (http://localhost/Fabrikam/Default.aspx).

  • File di progetto che verrà usato per distribuire uno schema 864 e altri schemi (Schemas.btproj).

  • Percorso di ricezione HTTP unidirezionale per ricevere il file EDI (Receive_AS2). Questo percorso di ricezione usa la pipeline AS2EdiReceive predefinita che contiene il decodificatore AS2 e il disassembler EDI.

  • Porta di trasmissione HTTP dinamica per restituire un mdn asincrono (Send_Async_MDN). Questa porta di trasmissione usa la pipeline AS2Send che contiene il codificatore AS2.

  • Porta di invio FILE unidirezionale statica per instradare il payload EDI in un file XML verso una cartella di back-end (Send_Payload_EdiXml). Questa porta di trasmissione usa la pipeline di trasmissione PassThruTransmit.

  • Porta di trasmissione HTTP statica unidirezionale per restituire un riconoscimento 997 al partner su AS2 (Send_Async_997). Questa porta di trasmissione usa la pipeline AS2Send che include il codificatore AS2, ma non ha bisogno dell'assembler EDI.

  • File di progetto che verrà usato per compilare un'applicazione per inviare il file EDI dal partner Fabrikam a BizTalk (Sender.csproj).

    Flusso di messaggi

    Il flusso dei messaggi nella soluzione completata sarà come illustrato nella figura seguente:

    Flusso del messaggio dell'esercitazione AS2

    I componenti del tutorial elaborano il messaggio come segue:

  1. Usare l'applicazionesender.exe per inviare il messaggio EDI/AS2 originale dal partner Fabrikam al computer BizTalk Server. Sender.exe invia il messaggio EDI/AS2 alla directory virtuale Contoso.

    Annotazioni

    Gli eventi in questo elenco potrebbero non verificarsi nell'ordine visualizzato.

    Il messaggio di test è X12_00401_864.edi in \Programmi\Microsoft BizTalk Server 20xx\SDK\AS2 Tutorial.

  2. Il Receive_AS2 percorso di ricezione unidirezionale riceve il messaggio EDI da Fabrikam, usando l'estensione ISAPI BTSHTTPReceive.dll per selezionare il file dalla directory virtuale Contoso. La pipeline di ricezione decodifica il messaggio AS2, disassembla l'interscambio EDI e quindi inserisce l'XML del messaggio nel Message Box.

  3. La pipeline di ricezione genera un messaggio MDN per il messaggio AS2 e, poiché l'MDN è configurato per essere asincrono, la pipeline di ricezione elimina il messaggio MDN nel MessageBox.

  4. La pipeline di ricezione genera un riconoscimento 997 in risposta all'interscambio EDI e rilascia 997 in MessageBox.

  5. La Send_Payload_EdiXml porta di trasmissione statica unidirezionale preleva il payload EDI dal MessageBox, filtrando sulla proprietà di contesto BTS.MessageType.

  6. La porta di trasmissione del payload invia il file XML contenente il payload EDI all'applicazione Contoso back-end, rappresentata dalla cartella \_EDIXMLToContoso. Questa porta di trasmissione usa una pipeline di trasmissione PassThruTransmit.

  7. Il Send_Async_MDN porta di trasmissione dinamica preleva l'MDN asincrono dal MessageBox, filtrando in base alla proprietà di contesto EdiIntAS.IsAS2AsynchronousMdn.

  8. La porta di trasmissione MDN restituisce l'MDN alla cartella \_MDNToFabrikam. Poiché si tratta di una porta di trasmissione dinamica, userà l'indirizzo nella riga Receipt-Delivery-Option nell'intestazione del messaggio (http://localhost/Fabrikam/Default.aspx?Destination=_MDNToFabrikam) per instradare il messaggio alla cartella \_MDNToFabrikam.

  9. Il Send_Async_997 porta di invio preleva il 997 dal MessageBox, filtrando in base alla proprietà di MessageType del contesto BTS.

  10. La porta di trasmissione 997 usa il trasporto HTTP per inviare il messaggio 997 generato dalla pipeline di ricezione EdiReceive alla cartella \_997ToFabrikam. La porta di trasmissione invia il messaggio alla pagina di default.aspx Fabrikam usando l'URI http://localhost/Fabrikam/Default.aspx?Destination=_997ToFabrikam. La pagina default.aspx invia quindi la 997 alla cartella \_997ToFabrikam.

    Per eseguire questa esercitazione, è necessario avere una conoscenza delle operazioni seguenti:

  • Pipeline e componenti della pipeline di BizTalk Server

  • HTTP Adapter

  • Porte e posizioni di ricezione

  • Porte di trasmissione

In questa sezione

Vedere anche

Esercitazioni su BizTalk Server