Condividi tramite


Risoluzione dell'accordo, individuazione dello schema e autorizzazione per messaggi EDI ricevuti

Quando BizTalk Server riceve un messaggio EDI, la pipeline di ricezione EDI esegue la ricerca del partner commerciale, l'individuazione dello schema e i processi di autorizzazione per determinare come elaborare il messaggio.

Risoluzione dell'accordo

La pipeline di ricezione EDI esegue un processo di risoluzione dell'accordo tra partner commerciali mediante una serie di passaggi per determinare se esiste una corrispondenza tra i campi delle intestazioni del messaggio e le proprietà della definizione dell'accordo. Dopo aver determinato BizTalk Server il contratto, determina lo schema del documento che si applica all'interscambio (vedere di seguito). Usa quindi le proprietà associate all'accordo corrispondente e lo schema appropriato per convalidare ed elaborare il messaggio ricevuto.

Per eseguire la risoluzione del contratto, BizTalk Server procede come segue:

  1. Risoluzione dell'accordo mediante corrispondenza del qualificatore e identificatore del mittente e del ricevitore nell'intestazione dell'interscambio con il qualificatore e l'identificatore nelle proprietà dell'accordo.

  2. Se il passaggio 1 ha esito negativo, risoluzione dell'accordo mediante corrispondenza del qualificatore e identificatore del solo mittente nell'intestazione dell'interscambio con il qualificatore e l'identificatore nelle proprietà dell'accordo. Inoltre, poiché il primo passaggio non è riuscito, è sicuro presupporre che BizTalk Server riceverà il messaggio. Di conseguenza, BizTalk Server tenta di corrispondere al qualificatore e all'identificatore del ricevitore con quanto segue:

    • Valori "BT" e "HostX12Recvr" (per i messaggi con codifica X12) e

    • Valori "BT" e "HostEdifactRecvr" (per i messaggi con codifica EDIFACT)

    Importante

    • BizTalk Server 2013 R2, 2013 e 2010: i campi ISA5, ISA6, ISA7, ISA8, UNB2.1, UNB2.2, UNB3.1 e UNB3.2 sono obbligatori nelle impostazioni del contratto.
      • BizTalk Server 2009 e 2006 R2: i campi ISA7, ISA8, UNB3.1 e UNB3.2 non sono obbligatori nelle impostazioni delle parti. Se i campi sono vuoti, il motore EDI fornisce una risoluzione in base ai valori di ISA5, ISA6, UNB2.1 e UNB2.2.
      • Per supportare le risoluzioni da BizTalk Server 2009 e 2006 R2 in versioni più recenti di BizTalk Server, vengono introdotti gli ID hardcoded (HostX12Recvr e HostEdifactRecvr) e i qualificatori (BT).
      • I messaggi EDIFACT devono seguire le linee guida UNECE per la sintassi e le regole dei messaggi.
  3. Se il passaggio 2 ha esito negativo, uso delle proprietà dell'accordo di fallback.

    Nel primo passaggio, per X12, BizTalk Server userà i valori seguenti per rendere la corrispondenza:

  • ISA05 (qualificatore del mittente)

  • ISA06 (identificatore del mittente)

  • ISA07 (qualificatore del ricevitore)

  • ISA08 (identificatore del ricevitore)

    Per EDIFACT, BizTalk Server userà i valori seguenti per rendere la corrispondenza:

  • UNB2.1 (identificatore del mittente)

  • UNB2.2 (qualificatore del mittente)

  • UNB3.1 (identificatore del ricevitore)

  • UNB3.2 (qualificatore del ricevitore)

    Le proprietà del contratto usate per la corrispondenza sono definite nella pagina Identificatori delle schede del contratto specifico della direzione della finestra di dialogo Proprietà contratto .

    Queste quattro proprietà sul lato di ricezione e sul lato di trasmissione identificano in modo univoco l'accordo tra partner commerciali. Il loro uso offre una maggiore flessibilità di elaborazione sul lato di ricezione. Questo metodo di risoluzione dell'accordo, ad esempio, consente l'invio di riconoscimenti a più entità senza necessità di creare più porte di trasmissione.

    Se BizTalk Server non è in grado di risolvere il contratto usando tutti e quattro i qualificatori e gli identificatori del mittente, tenterà di risolvere il contratto usando solo il qualificatore e l'identificatore del mittente. Questi campi per X12 sono ISA05 e ISA06, mentre per EDIFACT sono UNB2.1 e UNB2.2. Come per una corrispondenza delle proprietà del mittente e del ricevitore, BizTalk Server corrisponde ai valori nell'intestazione dell'interscambio con le proprietà del contratto definite nella pagina Identificatori delle schede del contratto specifico della finestra di dialogo Proprietà contratto. Se solo il qualificatore e l'identificatore del mittente vengono usati per risolvere il contratto, il qualificatore del ricevitore e l'identificatore devono essere non definiti nella scheda contratto bidirezionale della finestra di dialogo Proprietà contratto .

    Se non viene trovato alcun contratto, BizTalk Server usa il contratto del partner commerciale di fallback, a meno che l'impostazione della porta non richieda l'autenticazione. Se l'impostazione della porta richiede l'autenticazione (se l'autenticazione non riesce o Mantieni messaggi se l'autenticazione non riesce è selezionata nella pagina Generale delle proprietà porta di ricezione), è necessario un contratto per qualsiasi interscambio ricevuto dalla porta di ricezione. In tal caso, se l'accordo non viene risolto tramite il confronto dell'intestazione dell'interscambio con le proprietà dell'accordo, l'uso delle proprietà dell'accordo di fallback per determinare l'accordo non è consentito. Se non viene trovato alcun accordo, l'interscambio verrà gestito come se si fosse verificato un errore di autenticazione e verrà sospeso.

Nota

Un messaggio nella pipeline EDI passa alla fase successiva della procedura di Risoluzione dell'accordo fino a quando il messaggio non viene risolto con la fase in cui l'accordo risulta in stato abilitato. Ad esempio, se il messaggio viene risolto nella prima fase della risoluzione dell'accordo, ma l'accordo si trova in uno stato disabilitato, il messaggio passerà alla fase successiva per la risoluzione.

Individuazione dello schema

Dopo BizTalk Server ha determinato il contratto che risolve il messaggio, deve determinare lo schema che deve usare per convalidare ed elaborare il messaggio. Viene quindi usato usando le proprietà identificate nella pagina Impostazioni host locali della scheda contratto unidirezionale (lato invio) della finestra di dialogo Proprietà contratto .

Per determinare lo schema, BizTalk Server deve prima determinare lo spazio dei nomi dello schema. Il disassembler EDI userà uno spazio dei nomi predefinito per gli schemi standard forniti con BizTalk Server oppure determinerà lo spazio dei nomi da usare per uno schema personalizzato.

La pagina Impostazioni host locali della scheda contratto unidirezionale della finestra di dialogo Proprietà contratto consente di configurare una griglia di valori per determinare uno spazio dei nomi personalizzato. Se non viene trovata alcuna corrispondenza in tale griglia, il disassembler EDI usa lo spazio dei nomi predefinito nel campo Spazio dei nomi di destinazione contrassegnato per la riga predefinita.

Individuazione dello schema X12

Per i messaggi con codifica X12, BizTalk Server determina uno spazio dei nomi personalizzato usando l'identificatore del mittente dell'applicazione (GS02) e l'ID set di transazioni (ST01) dall'intestazione dell'interscambio in ingresso. Tenta di trovare una corrispondenza tra questi valori e i valori per le proprietà GS02 e ST01 nella griglia Personalizza spazio dei nomi di destinazione nella pagina Impostazioni host locali (in Impostazioni set di transazioni) della scheda contratto bidirezionale della finestra di dialogo Proprietà contratto . Se trova una corrispondenza, usa lo spazio dei nomi di destinazione identificato nella stessa riga della griglia per determinare lo schema da usare per convalidare ed elaborare il messaggio. Se lo spazio dei nomi di destinazione non viene determinato, verrà usato lo spazio dei nomi di destinazione predefinito. Se non viene identificato alcun spazio dei nomi nel campo Spazio dei nomi di destinazione contrassegnato per la riga predefinita, BizTalk Server userà lo spazio dei nomi di destinazione identificato nelle proprietà del contratto di fallback per i messaggi con codifica X12, che per impostazione predefinita è http://schemas.microsoft.com/BizTalk/Edi/X12/2006.

Per gli interscambi X12, dopo l'individuazione dello spazio dei nomi di destinazione, BizTalk Server determina lo schema usando le informazioni seguenti:

  • Spazio dei nomi di destinazione appena individuato.

  • Versione/rilascio nei primi cinque caratteri di ST03 (se GS07 == X - Accredited Standards Committee X12). Se ST03 non è presente o non è valido o se non risulta nella risoluzione dello schema, la versione viene determinata dai prime cinque caratteri di GS08 o di ISA12 (se GS07 != X).

  • DocType in ST01.

    Il disassembler EDI concatena tipo di codifica, versione/rilascio e DocType per determinare il nome dello schema, ad esempio "X12_00401_864". Concatena quindi lo spazio dei nomi di destinazione con il nome dello schema, ad esempio http://schemas.microsoft.com/BizTalk/Edi/X12/2006/X12#X12_00401_864.

    Per un interscambio HIPAA 837 in ingresso, BizTalk Server supporta tre schemi HIPAA 837:

Schema 837 Valore GS08 nella versione 4010 Valore GS08/ST03 nella versione 5010
Claim-Dental_837D 004010X097A1 005010X224A1
Claim-Institutional_837I 004010X096A1 005010X223A1
Claim-Professional_837P 004010X098A1 005010X222

Nota

Nelle versioni HIPAA, per il set di transazioni 278 (Health Care Services Review) le coppie di richiesta e risposta usano lo stesso valore per GS08 e ST01. A seconda dei valori trigger nel campo BHT02, è possibile distinguere tra una richiesta e una risposta 278 nella versione 5010:

  1. I valori 01, 13 e 36 in BHT02 indicano una richiesta Health Care Services Review
    2. 11 in BHT02 indica la risposta alla risposta alla revisione dei servizi sanitari

Individuazione dello schema EDIFACT

Per i messaggi con codifica EDIFACT, BizTalk Server determina uno spazio dei nomi personalizzato usando il tipo di messaggio (UNH2.1), il numero di versione del messaggio (UNH2.2), il numero di rilascio del messaggio (UNH2.3), il codice assegnato (UNH2.5), l'ID gruppo funzionale (UNG2.1) e il qualificatore del codice di invio dell'applicazione (UNG2.2) dall'intestazione dell'interscambio in ingresso. Tenta quindi di trovare una corrispondenza tra questi valori e i valori per le proprietà UNH2.1, UNH2.2, UNH2.3, UNH2.5, UNG2.1 e UNG2.2 nella griglia Personalizza spazio dei nomi (in Impostazioni set di transazioni) della scheda Contratto proprietà contratto. Se trova una corrispondenza, usa lo spazio dei nomi di destinazione identificato nella stessa riga della griglia per determinare lo schema da usare per convalidare ed elaborare il messaggio. Se lo spazio dei nomi di destinazione non viene determinato, verrà usato lo spazio dei nomi di destinazione predefinito. Se non viene identificato alcun spazio dei nomi nel campo Spazio dei nomi di destinazione contrassegnato per la riga predefinita, BizTalk Server userà lo spazio dei nomi di destinazione identificato nelle proprietà del contratto di fallback per i messaggi con codifica EDIFACT, che per impostazione predefinita è http://schemas.microsoft.com/BizTalk/Edi/EDIFACT/2006.

Per gli interscambi EDIFACT, una volta individuato lo spazio dei nomi di destinazione, BizTalk Server determina lo schema usando le informazioni seguenti:

  • Spazio dei nomi di destinazione appena individuato.

  • Numero di versione del messaggio in UNH2.2.

  • Numero di rilascio del messaggio in UNH2.3.

  • Tipo di messaggio in UNH2.1.

  • Codice assegnato in UNH2.5.

    Il disassembler EDI concatena tipo di codifica, versione, rilascio e tipo di messaggio per determinare il nome dello schema, ad esempio "EFACT_D94A_CONTEN". Concatena quindi lo spazio dei nomi di destinazione con il nome dello schema, ad esempio http://schemas.microsoft.com/BizTalk/Edi/Edifact/2006/EFACT#EFACT_D94A_CONTEN.

    Se UNH2.5 è presente nel messaggio, il disassembler EDI tenterà innanzitutto di individuare uno schema corrispondente usando il valore di UNH2.5 come parte del nome dello schema, ad esempio "EFACT_D94A_CONTEN_TEST". Se non viene individuato alcuno schema corrispondente, il disassembler EDI cercherà lo schema senza il valore UNH2.5.

Autorizzazione

BizTalk Server controlla i valori dei campi di autorizzazione e sicurezza definiti per il contratto con i campi nel messaggio. In caso di mancata corrispondenza, BizTalk Server sospende l'interscambio. Per i messaggi con codifica EDIFACT, tali campi corrispondono alla password di riferimento del destinatario (UNB6.1 e UNB6.2). Per i messaggi con codifica X12, corrispondono invece a Qualificatore informazioni autorizzazione (ISA1-2) e a Qualificatore informazioni sicurezza (ISA3-4).

Vedere anche

Come vengono ricevuti i messaggi EDI in BizTalk Server