Condividi tramite


Elaborazione sul lato di ricezione di un messaggio EDI in ingresso su AS2

L'elaborazione sul lato di ricezione di un messaggio EDI tramite AS2 include la ricezione del messaggio AS2, l'invio di un messaggio MDN, l'elaborazione del payload EDI e l'invio di riconoscimenti EDI (se abilitato).

La pipeline di ricezione AS2EdiReceive riceve il messaggio AS2 e disassembla il payload EDI nel messaggio AS2. La pipeline di trasmissione AS2EDISend invia un messaggio MDN in risposta al messaggio AS2 e un riconoscimento EDI viene restituito in risposta al messaggio EDI. È possibile includere queste pipeline in una porta di trasmissione sollecitazione-risposta bidirezionale HTTP (se il messaggio MDN è sincrono) o in una porta di trasmissione unidirezionale HTTP e una porta di ricezione unidirezionale HTTP (se il messaggio MDN è asincrono).

Per ricevere un interscambio EDI su AS2, BizTalk Server eseguirà la procedura seguente:

  • Elaborazione del messaggio AS2 ricevuto

  • Invio di un messaggio MDN

  • Elaborazione del payload EDI ricevuto

  • Invio di un riconoscimento EDI

Elaborazione del messaggio AS2 ricevuto

Il decodificatore AS2 nella pipeline di ricezione AS2EdiReceive elabora un messaggio AS2 in ingresso. In questo modo viene usata la InboundHTTPHeaders proprietà di contesto, che l'adapter HTTP crea dalle intestazioni HTTP nel messaggio AS2. Sono incluse le seguenti intestazioni AS2:

  • AS2-To

  • AS2-From

  • AS2-Version

  • MessageID

  • OriginalMessageID (solo per messaggi MDN)

  • Disposition-Notification-To (se è richiesto un messaggio MDN)

  • Receipt-Delivery-Option (se è richiesto un messaggio MDN)

  • Signed-Receipt-MICalg (se è richiesto un messaggio MDN)

    Il decodificatore AS2 alza queste intestazioni al livello del contesto del messaggio. Vengono quindi eseguite le seguenti operazioni:

  • Esegue la risoluzione dell'accordo per determinare le proprietà da utilizzare per elaborare il messaggio in ingresso. Per altre informazioni, vedere Risoluzione del contratto per i messaggi AS2 in ingresso.

  • Autentica il mittente usando la proprietà AS2-From .

    Nota

    Per altre informazioni sull'elaborazione eseguita dalle pipeline di ricezione AS2 sui messaggi AS2 in ingresso, vedere Elaborazione di un messaggio AS2 in ingresso.

Invio di un messaggio MDN

Se è stato abilitato un messaggio MDN, la pipeline AS2EdiReceive genera un messaggio MDN e lo rilascia nel MessageBox.

Nota

Per altre informazioni sull'elaborazione eseguita dalle pipeline di ricezione AS2 su MDN in uscita, vedere Generazione di un MDN in uscita.

Modalità sincrona

Se un messaggio EDI viene inviato su AS2 in modalità sincrona, BizTalk Server restituirà il messaggio MDN su tale connessione sincrona e quindi chiuderà la connessione. Poiché la connessione è stata chiusa, BizTalk Server non può restituire un riconoscimento EDI (997, TA1 o CONTRL) su tale connessione. I riconoscimenti EDI vengono sempre inviati in modalità asincrona tramite AS2.

Il messaggio MDN verrà generato dalla pipeline AS2EDIReceive, instradato dalla pipeline al MessageBox e quindi automaticamente prelevato dalla pipeline AS2Send che fa parte della porta di ricezione richiesta-risposta.

Modalità asincrona

Se un messaggio con codifica EDIINT/AS2 viene inviato tramite il trasporto HTTP/HTTPS in modalità asincrona, è necessario creare una porta di trasmissione per restituire il messaggio MDN separatamente. È possibile configurare la porta di trasmissione per restituire i riconoscimenti EDI e i messaggi MDN asincroni. Se si tratta di una porta di trasmissione dinamica, verrà utilizzato l'indirizzo nella riga Receipt-Delivery-Option nell'intestazione del messaggio per instradare il messaggio al partner commerciale. Se si tratta di una porta di trasmissione statica, verrà utilizzato l'indirizzo configurato nelle proprietà della porta. Questa porta di trasmissione sottoscrive l'mdN asincrona usando un'espressione EdiIntAS.IsAS2AsynchronousMDN==True di filtro.

Nell'elaborazione asincrona, la pipeline AS2EdiReceive genererà una risposta HTTP oltre al messaggio MDN. La porta di ricezione restituisce la risposta HTTP al mittente originale tramite la connessione HTTP tra la porta di ricezione e l'entità mittente che chiude la connessione. Questa operazione è necessaria perché la connessione sincrona non viene chiusa dal messaggio MDN.

Se BizTalk trasporta un messaggio con codifica EDIINT/AS2 tramite HTTP/HTTPS, ma l'elaborazione del payload con codifica EDI non riesce, il mittente del messaggio originale riceve un messaggio MDN indicante l'elaborazione AS2 riuscita e un riconoscimento EDI indicante l'errore dell'elaborazione EDI. Il payload con codifica EDI viene sospeso e viene inviato un errore.

Elaborazione del payload EDI ricevuto

Se l'opzione elaborazione batch in ingresso per un contratto EDI è impostata su Divisione interscambio, la pipeline di ricezione AS2EdiReceive associata alla posizione di ricezione della risposta di richiesta bidirezionale analizza il messaggio EDI in un messaggio XML separato per ogni set di transazioni EDI. Se l'opzione Elaborazione batch in ingresso è impostata su Mantieni interscambio, la pipeline di ricezione non analizzerà il messaggio EDI.

La pipeline di ricezione instrada la transazione XML o l'interscambio EDI mantenuto al MessageBox BizTalk.

Se il messaggio deve essere instradato a una applicazione back-end, una porta di trasmissione preleva il messaggio XML e lo instrada all'applicazione.

Nota

La porta di trasmissione può essere di qualsiasi tipo.

Invio del riconoscimento EDI

Se è stato abilitato un riconoscimento EDI, il disassembler EDI nella pipeline di ricezione AS2EdiReceive genererà i riconoscimenti EDI. I riconoscimenti EDI devono essere inviati dalla pipeline di trasmissione AS2EdiSend tramite una porta di trasmissione unidirezionale separata.

Se si configura una porta di ricezione richiesta-risposta bidirezionale per i messaggi EDI/AS2 per restituire un MDN sincrono o una risposta HTTP (nel caso di un MDN asincrono), la proprietà Route ACK per inviare la pipeline sulla porta di ricezione della risposta richiesta (impostata nella pagina Impostazioni host locali del contratto EDI unidirezionale nella finestra di dialogo Proprietà contratto ) verrà ignorata. Anche se la proprietà è selezionata, la pipeline di trasmissione restituirà un messaggio MDN sincrono o una risposta HTTP e non un riconoscimento EDI.

Per altre informazioni, vedere Invio di un riconoscimento EDI.

Vedere anche

Come vengono ricevuti i messaggi AS2 in BizTalk Server