Condividi tramite


Pipeline di ricezione BTARN

Microsoft BizTalk Accelerator per RosettaNet (BTARN) esegue la ricezione dei messaggi di RosettaNet Implementation Framework (RNIF) con la pipeline RNIFReceive (RNIFReceive.btp). La pipeline di ricezione include i componenti seguenti:

  • ReceiveMessageNonRepudiate

  • RNMimeDecoder (preprocessore/decodificatore MIME)

  • RNDAsm (disassembler XML)

  • RNPartyRes (componente di risoluzione entità)

  • MessageUpdater

ReceiveMessageNonRepudiate

Questo componente archivia il messaggio ricevuto nella tabella MessageStorageIn. Questo componente esegue l'elaborazione non ripudio richiesta dagli standard RNIF.

RNMimeDecoder

Questo componente si basa sul preprocessore/decodificatore MIME BizTalk Server nativo. RNMimeDecoder aggiunge le funzionalità seguenti per l'elaborazione RNIF:

  • Per RNIF 2.01, decrittografa il contenuto del servizio e gli allegati, se presenti.

  • Per RNIF 1.1, gestisce l'intestazione a 8 byte e l'intestazione della firma scollegata alla fine del payload.

    Per altre informazioni sul preprocessore/decodificatore BizTalk Server nativo, vedere "Componente della pipeline del decodificatore MIME/SMIME" nella Guida di BizTalk Server.

RNDAsm

Questo componente si basa sul disassembler XML BizTalk Server nativo. RNDAsm aggiunge le funzionalità seguenti per l'elaborazione RNIF:

  • Se un documento in ingresso ha un'intestazione DOCTYPE, questo componente genera uno spazio dei nomi da esso e sposta tutti i nodi nel documento in ingresso in tale spazio dei nomi.

  • Esegue la correlazione dei messaggi per determinare se un messaggio in arrivo è un duplicato e genera un messaggio di errore se il messaggio è un duplicato.

  • Archivia gli allegati come parti aggiuntive del messaggio.

  • Promuove le proprietà del messaggio.

    Per altre informazioni sul disassembler BizTalk Server nativo, vedere "Componente della pipeline del disassembler XML" nella Guida di BizTalk Server.

RNPartyRes

Questo componente si basa sul componente di risoluzione delle entità BizTalk Server nativo. RNPartyRes aggiunge le funzionalità seguenti per l'elaborazione RNIF:

  • Esegue il mapping del certificato del mittente se il messaggio in arrivo è firmato a un'entità BizTalk. Se il messaggio in arrivo non è firmato e il contratto tra partner commerciali lo consente, questo componente recupera l'entità mittente dall'intestazione Recapito per RNIF 2.01 o l'intestazione Service per RNIF 1.1.

  • Verifica che il mittente esista e che il mittente abbia un contratto tra partner commerciali con l'organizzazione principale.

    Per altre informazioni sul componente di risoluzione delle entità BizTalk Server nativo, vedere "Componente della pipeline di risoluzione delle entità" in BizTalk Server Guida.

MessageUpdater

Questo componente aggiunge le funzionalità seguenti per l'elaborazione RNIF:

  • Aggiornamenti la tabella MessageStorageIn con informazioni dettagliate sul codice PIP, sulla versione PIP, sulla parte di origine, sull'entità di destinazione e sull'ID di rilevamento dei messaggi di trasmissione archiviati dal componente ReceiveMessageNonRepudiate.

  • Se pip non richiede ripudio, contrassegna il record per l'eliminazione, impostando ToBePurged = True.

Flusso dei messaggi

Il flusso del messaggio attraverso la pipeline di ricezione BTARN è il seguente:

  1. L'adattatore HTTP riceve un oggetto RNIF 1.1 o un messaggio aziendale RNIF 2.01 tramite HTTP POST.

  2. Se l'adapter riceve correttamente il messaggio, l'adapter estrae l'oggetto RosettaNet o il messaggio aziendale e lo indirizza alla pipeline di ricezione.

  3. Se l'oggetto o il messaggio aziendale è firmato, il preprocessore/decodificatore MIME rimuove la firma.

  4. Se la firma è valida, il disassembler legge il preambolo.

  5. Se il messaggio è un messaggio di azione e non ripudio è necessario (l'impostazione Non ripudio di origine e contenuto nelle impostazioni di configurazione del processo è True), il decodificatore calcola e rende persistente il digest.

  6. Il disassembler convalida il preambolo (con le linee guida del messaggio (MSG) e lo schema preambolo nelle variabili globali.

  7. Per RNIF 2.01, il disassembler legge l'intestazione del recapito e convalida l'intestazione usando le linee guida msg e lo schema dell'intestazione di recapito nelle variabili globali.

  8. Per RNIF 2.01, il disassembler estrae le informazioni del partner dall'intestazione del recapito ed esamina la firma per verificare che appartenga al partner.

  9. Per RNIF 2.01, se il payload è crittografato, il decodificatore decrittografa il contenitore di payload.

  10. Il disassembler legge l'intestazione del servizio e convalida l'intestazione usando le linee guida msg e lo schema dell'intestazione del servizio nelle variabili globali.

  11. Per RNIF 1.1, il disassembler estrae le informazioni del partner dall'intestazione del servizio ed esamina la firma per verificare che appartenga al partner.

  12. Il disassembler controlla se il partner è autorizzato per il PIP. In caso contrario, il disassembler risponderà a UN POST HTTP con un messaggio di stato HTTP 403, se necessario, e inseposterà un errore.

  13. Se il messaggio è un messaggio di azione firmato e Non-Ripudiation of Origin and Content è impostato su True, il componente ReceiveMessageNonRepudiate mantiene il messaggio originale nella tabella MessageStorageIn.

  14. Se il messaggio è un messaggio di segnale firmato e Non-Repudiation Required è impostato su True, il componente ReceiveMessageNonRepudiate mantiene il messaggio di segnale nella tabella MessageStorageIn.

  15. Se il messaggio è stato salvato in modo permanente nella tabella MessageStorageIn per il non ripudio, MessageUpdater aggiorna la tabella MessageStorageIn con le proprietà della configurazione del processo del messaggio.

  16. Se il messaggio è un messaggio di azione duplicato di un messaggio di azione elaborato in precedenza, BTARN pubblicherà un errore.

  17. Per RNIF 2.01, il decodificatore decrittograferà il payload se il messaggio di azione è crittografato e esiste una corrispondenza tra i requisiti di sincronizzazione HTTP e pip synchronicity.

  18. Il disassembler legge il contenuto del servizio e lo convalida usando le linee guida msg e lo schema.

  19. Per RNIF 2.01, il disassembler verifica che il manifesto sia valido e che sia presente l'ID contenuto.

  20. Per RNIF 2.01, il disassembler leggerà gli allegati.

  21. BTARN indirizza le intestazioni, il contenuto del servizio e gli allegati di RosettaNet al processo pubblico.

Vedere anche

Elaborazione dei messaggi in BTARN