Risoluzione dell'accordo e determinazione dello schema per i messaggi EDI in uscita
Per generare un messaggio EDI per un partner commerciale, la pipeline di trasmissione EDI deve effettuare le seguenti operazioni:
Determinare l'accordo in cui il messaggio viene risolto
Determinare lo schema da utilizzare per convalidare il messaggio
Risoluzione dell'accordo
La pipeline di trasmissione EDI esegue la ricerca dell'accordo effettuando una serie di passaggi per determinare se esiste una corrispondenza tra l'interscambio in uscita e le proprietà di un accordo. Dopo BizTalk Server determinato l'accordo, determina lo schema del documento applicabile all'interscambio (vedere di seguito). Utilizza le proprietà associate all'accordo corrispondente e lo schema appropriato per generare e convalidare il messaggio in uscita.
Per eseguire la risoluzione del contratto, BizTalk Server procede nel modo seguente:
Risoluzione dell'accordo creando una corrispondenza tra la proprietà di contesto AgreementPartIDForSend e l'ID dell'accordo unidirezionale. Questa proprietà deve essere un tipo integer, che può essere impostata in un componente personalizzato; non è impostato da BizTalk Server.
Se il passaggio 1 ha esito negativo, viene risolto l'accordo associando tutte le tre proprietà di contesto seguenti alle proprietà dell'accordo: AgreementNameForSend, SenderPartyNameForSend, ReceiverPartyNameForSend. Si noti che, ai fini della risoluzione in un accordo, tutte e tre le proprietà devono essere impostate. Queste proprietà possono essere impostate in un componente personalizzato; non è impostato da BizTalk Server.
Se il passaggio 2 non riesce, risolve il contratto associando il nome della parte nelle proprietà del contesto del messaggio alla proprietà DestinationPartyName, impostata come sistema di risoluzione del contratto aggiuntivo nella scheda Identificatori delle proprietà del contratto.
Se il passaggio 3 ha esito negativo, viene risolto l'accordo associando le proprietà seguenti nel contesto di un messaggio a quelle nelle proprietà dell'accordo: DestinationPartySenderIdentifier, DestinationPartySenderQualifier, DestinationPartyReceiverIdentifier e DestinationPartyReceiverQualifier. Si noti che, ai fini della risoluzione in un accordo, tutte e quattro le proprietà devono essere impostate. Queste proprietà possono essere impostate in un componente personalizzato; non sono impostate da BizTalk Server. Per altre informazioni, vedere sotto.
Nota
Se uno dei set di proprietà di contesto precedenti viene alzato di livello e BizTalk Server non è in grado di trovare un contratto associato a tali proprietà di contesto, BizTalk Server sospende il messaggio.
Se l'utente scrive intenzionalmente un set di proprietà di contesto per la risoluzione dell'accordo e se il sistema di risoluzione non riesce a identificare la proprietà OnewayAgreement, il messaggio viene sospeso. In caso di mancata risoluzione in un accordo basata su un set di proprietà di contesto, nel Registro eventi viene generato un messaggio di avviso corrispondente.
Se la procedura 4 ha esito negativo o non viene promossa alcuna delle suddette proprietà di contesto, il messaggio EDI viene risolto in un accordo creando una corrispondenza tra la porta di trasmissione che ha sottoscritto il messaggio e la porta di trasmissione associata a un accordo.
Nota
Se una stessa porta di trasmissione è associata a più accordi, in BizTalk Server viene generato un errore.
Se non viene rilevato alcun accordo nelle procedure 1, 2, 3 o 4, la pipeline di trasmissione utilizzerà le impostazioni dell'accordo di fallback per generare il messaggio in uscita.
Risoluzione del contratto in base alle proprietà del contesto mittente e destinatario corrispondenti
Nel secondo passaggio precedente, le quattro proprietà di contesto utilizzate nell'associazione sono EDI.DestinationPartySenderIdentifier, EDI.DestinationPartySenderQualifier, EDI.DestinationPartyReceiverIdentifier e EDI.DestinationPartyReceiverQualifier. Lo spazio dei nomi per queste proprietà di contesto è
http://schemas.microsoft.com/Edi/PropertySchema
. BizTalk Server tenta di corrispondere a questi valori con gli identificatori e i qualificatori del mittente e del ricevitore correlati nelle proprietà del contratto unidirezionale. Per X12, questi campi sono ISA05, ISA06, ISA07 e ISA08 nella pagina Identificatori della scheda Contratto unidirezionale della finestra di dialogo Proprietà contratto ; per EDIFACT, questi campi sono UNB2.1, UNB2.2, UNB3.1 e UNB3.2 nella pagina Identificatori della scheda Contratto unidirezionale della finestra di dialogo Proprietà contratto .Per abilitare la risoluzione dell'accordo lato trasmissione utilizzando tutti e quattro gli identificatori e qualificatori del mittente e del ricevitore, è necessario impostare tutte e quattro le proprietà di contesto. In questo modo viene identificato solo l'accordo. Questo metodo di ricerca dell'accordo consente una maggiore flessibilità a livello dell'elaborazione lato trasmissione. Ad esempio, questo metodo potrebbe evitare all'utente di dover creare più porte di trasmissione in alcune circostanze ed evitare complicati filtri di porte di trasmissione. Se lo si desidera, consente inoltre di evitare l'impostazione della proprietà OneWayAgreementId.
Se tutte e quattro le proprietà di contesto sono state impostate per un messaggio e non viene rilevata alcuna corrispondenza tra le proprietà di contesto e le proprietà della proprietà, il messaggio viene sospeso. L'accordo verrà risolto utilizzando la porta di trasmissione associata a un accordo solo se non sono state impostate tutte le quattro proprietà di contesto.
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.
Determinazione dello schema
La pipeline di trasmissione EDI determina lo schema applicabile al messaggio in base al nome dello schema e lo spazio dei nomi dello schema contenuto nel file XML intermedio per ogni set di transazione (sotto forma di informazioni relative al tipo di documento o nel nodo radice).
Nel caso di un interscambio salvato, la pipeline di trasmissione utilizza le informazioni sul tipo di documento nei singoli set di transazioni del file XML intermedio per l'interscambio completo. Utilizza gli schemi del segmento di controllo per elaborare i segmenti busta.