Condividi tramite


Come utilizzare le proprietà del contesto del messaggio

Le proprietà del sistema vengono per lo più utilizzate internamente dal motore di messaggistica BizTalk e dai relativi componenti. In generale, non è consigliabile modificare i valori impostati dal motore per queste proprietà perché potrebbe compromettere la logica di esecuzione del motore. È tuttavia possibile modificare un numero elevato di proprietà.

Nella tabella seguente è incluso un elenco delle proprietà del contesto del messaggio che possono essere innalzate di livello dal motore di messaggistica. È possibile usare queste proprietà per la creazione di espressioni di filtro nelle porte di trasmissione e nelle orchestrazioni in Microsoft BizTalk Server. Ad esempio,

PortName = MyMessage(BTS.ReceivePortName);  
MyFileName = MyMessage(FILE.ReceivedFileName);  
MySubject= MyMessage(POP3.Subject);  

In una tabella separata vengono elencate altre proprietà che possono essere utili in alcune applicazioni BizTalk e che non possono essere innalzate di livello.

Proprietà Quando e dove viene innalzata di livello Tipo Descrizione
BTS.AckFailureCategory Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:int Identifica ErrorCategory, che fornisce la posizione e il motivo della sospensione.
BTS.AckFailureCode Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Identifica ErrorCode, che fornisce la posizione e il motivo della sospensione.
BTS.AckID Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Identifica l'ID messaggio del messaggio originale.
BTS.AckInboundTransportLocation Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Identifica InboundTransportLocation dal messaggio originale.
BTS.AckOutboundTransportLocation Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Identifica OutboundTransportLocation dal messaggio originale.
BTS.AckOwnerID Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Identifica l'ID di istanza del messaggio originale.
BTS.AckReceivePortID Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Identifica ReceivePortID dal messaggio originale.
BTS.AckReceivePortName Innalzata di livello dal motore di messaggistica per il messaggio di riconoscimento. xs:string Identifica ReceivePortName dal messaggio originale.
BTS.AckSendPortID Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Identifica SendPortID dal messaggio originale.
BTS.AckSendPortName Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Identifica SendPortName dal messaggio originale.
BTS.AckType Innalzata di livello dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Consente il monitoraggio di riconoscimenti e non riconoscimenti da un’orchestrazione. Il valore sarà ACK per un riconoscimento e NACK per un riconoscimento negativo.
BTS.ActionOnFailure Questa proprietà può essere impostata da un adapter prima di chiamare l’API IBTTTransportBatch::SubmitMessage() per l’invio del messaggio a BizTalk. xs:int Determina il comportamento del motore di messaggistica in caso di errore nella pipeline di ricezione. In genere il motore di messaggistica sospende i messaggi non riusciti, tuttavia alcuni adapter (HTTP) inviano al client un rapporto sull’errore anziché sospendere il messaggio in caso di errore nella pipeline di ricezione.

Valori validi:

-Predefinito. Se la proprietà non esiste, il motore di messaggistica proverà automaticamente a sospendere il messaggio.
- 0. Indica che il motore di messaggistica non sospenderà automaticamente il motore.

Altri valori sono riservati per utilizzi futuri.
BTS.CorrelationToken Se questa proprietà è impostata nel contesto del messaggio, verrà innalzata di livello dal motore di messaggistica. La proprietà è impostata in modo implicito in un contesto quando l'adapter richiesta-risposta o un'orchestrazione invia un messaggio di richiesta al database MessageBox. xs:string Attiva il routing di risposta sulle porte richiesta-risposta.
BTS.EpmRRCorrelationToken Innalzata di livello dal motore di messaggistica per l’esecuzione di messaggi di richiesta-risposta. La proprietà è innalzata di livello prima che i messaggi vengano inviati al database MessageBox. xs:int Utilizzata internamente dal motore di messaggistica. Specifica il nome del server, l’ID di processo e un GUID univoco per i flussi di richiesta risposta dei messaggi.
BTS.InboundTransportLocation Innalzata di livello dal motore di messaggistica dopo la ricezione di un messaggio da un adapter di ricezione e prima della relativa pubblicazione nel database MessageBox. xs:string Specifica l’indirizzo (URI) su cui il messaggio è stato ricevuto dal gestore.
BTS.InboundTransportType Innalzata di livello dal motore di messaggistica dopo la ricezione di un messaggio da un adapter di ricezione e prima della relativa pubblicazione nel database MessageBox. xs:string Specifica il tipo di adattatore che ha ricevuto il messaggio e lo ha inviato nel server: FILE, HTTP e così via.
BTS.InterchangeSequenceNumber Innalzata di livello dal motore di messaggistica dopo la ricezione di un messaggio dall’adapter di ricezione e prima della relativa pubblicazione nel database MessageBox. xs:int Indica il numero di sequenza del documento nell’interscambio. Se il documento non fa parte di un interscambio disassemblato in singoli documenti, questo valore sarà 1. La proprietà può essere letta in un'orchestrazione, in una pipeline di trasmissione e in una scheda di trasmissione.
BTS.IsDynamicSend Questa proprietà può essere impostata nel contesto del messaggio. Non verrà innalzata di livello e verrà applicata esclusivamente alle operazioni di trasmissione. xs:boolean Viene scritta nel contesto del messaggio dal motore di messaggistica con un valore True se l'operazione di trasmissione avviante su una porta di trasmissione dinamica. Se si desidera impostare le proprietà dinamicamente per le porte di trasmissione statiche nelle pipeline di trasmissione, è necessario impostare il valore su True.
BTS.MessageDestination Questa proprietà può essere impostata nella pipeline di ricezione da un componente della pipeline del disassembler quando viene restituito un messaggio da GetNext(). xs:string Utilizzata principalmente per supportare l’elaborazione di interscambio reversibile nei disassembler, questa proprietà determina se un messaggio viene pubblicato nel MessageBox o viene sospeso nella coda degli elementi sospesi. Se una pipeline rileva un messaggio errato in un interscambio e si desidera sospendere il messaggio e continuare l’elaborazione, è possibile impostare MessageDestination = SuspendQueue così che venga restituito il messaggio quando il motore chiama GetNext() sul disassembler.

Valori validi:

-Predefinito. Se la proprietà non esiste, il messaggio è considerato valido e viene pubblicato nel MessageBox.
- SuspendQueue. Indica al motore di messaggistica di sospendere il messaggio. Nota: Il messaggio sospeso sarà il messaggio post-pipeline/mapping e non il messaggio inviato dall'adapter (ad esempio il messaggio di rete).
BTS.MessageType Innalzata di livello dai componenti della pipeline del disassembler durante l’analisi del messaggio. xs:string Specifica il tipo del messaggio. Il tipo di messaggio viene definito come concatenazione dello spazio dei nomi dello schema del documento e nodo radice del documento: http://<MyNamespace>#<MyRoot>.
BTS.OutboundTransportLocation Se questa proprietà è impostata nel contesto del messaggio, verrà innalzata di livello dal motore di messaggistica. La proprietà è impostata in modo implicito nel contesto di un messaggio quando un’orchestrazione invia un messaggio a una porta di trasmissione. La proprietà può anche essere impostata in modo esplicito in un’orchestrazione o in una pipeline. xs:string Specifica l'URI dell’indirizzo di destinazione a cui viene inviato il messaggio. L'URI può contenere il prefisso dell'adattatore, ad esempio http://. Il prefisso per l’adapter viene utilizzato dal motore di messaggistica per determinare il tipo di adapter da utilizzare per l’invio del messaggio. Se sia il prefisso dell'adattatore sia il BTS. La proprietà OutboundTransportType è impostata, il tipo di adattatore da BTS. OutboundTransportType ha sempre la precedenza sul tipo di adattatore determinato dal prefisso.

Valori validi:

Accodamento messaggi BizTalk: DIRECT=, PRIVATE=e PUBLIC=

FILE: file://

FTP: FTP://

HTTP: http:// e https://

SMTP : mailto:

SOAP: SOAP://

SQL: SQL://
BTS.OutboundTransportType Se questa proprietà è impostata nel contesto del messaggio, verrà innalzata di livello dal motore di messaggistica. La proprietà è impostata in modo implicito in un contesto quando un’orchestrazione invia un messaggio a una porta di trasmissione. La proprietà può anche essere impostata in modo esplicito in un’orchestrazione o in una pipeline. xs:string Specifica il tipo di adapter utilizzato per l’invio del messaggio. I tipi di adapter disponibili sono FILE, FTP, HTTP, SMTP, SOAP e SQL.

Per i valori impostati nella proprietà e i prefissi per l’adapter specificati nell’indirizzo non viene fatta distinzione tra maiuscole e minuscole.
BTS.PropertiesToUpdate Questa proprietà viene impostata da un adapter che ha la necessità di mantenere alcuni dei valori delle proprietà di un messaggio non riuscito che viene inviato nuovamente o viene sospeso.

Ciò significa che quando un messaggio viene inviato nuovamente o viene ripristinato, le proprietà specificate verranno impostate nel contesto del messaggio.
xs:string Include una stringa XML con elementi che rappresentano nomi di proprietà, spazi di nomi e valori.
BTS.ReceivePortID Innalzata di livello dal motore di messaggistica dopo la ricezione di un messaggio da un adapter di ricezione e prima della relativa pubblicazione nel database MessageBox. xs:int Identifica la porta di ricezione su cui è stato ricevuto il messaggio.
BTS.ReceivePortName Innalzata di livello dal motore di messaggistica dopo la ricezione di un messaggio da un adapter di ricezione e prima della relativa pubblicazione nel database MessageBox. xs:string Nome descrittivo della porta di ricezione su cui è stato ricevuto il messaggio.
BTS.RouteDirectToTP Innalzata di livello dal motore di messaggistica per l’esecuzione di tipo loopback o richiesta-risposta dei messaggi. La proprietà è innalzata di livello prima che i messaggi vengano inviati al database MessageBox. xs:boolean Utilizzata internamente dal motore di messaggistica per l’attivazione di scenari di tipo loopback e richiesta-risposta.
BTS.SPGroupID Innalzata di livello dal motore di messaggistica quando il messaggio viene inviato a una porta di trasmissione da un’orchestrazione. xs:string Specifica l’ID del gruppo di porte di trasmissione.
BTS.SPID Innalzata di livello dal motore di messaggistica quando un messaggio viene inviato a una porta di trasmissione da un’orchestrazione. xs:string Specifica l’ID della porta di trasmissione.
BTS.SPName Alzata di livello dal motore di messaggistica quando viene pubblicato un messaggio di risposta da una porta di trasmissione di sollecitazione-risposta. xs:string Utilizzata per la sottoscrizione dei messaggi di risposta da una porta di trasmissione di sollecitazione-risposta. Il valore è il nome della porta di trasmissione.
BTS.SPTransportBackupID Innalzata di livello dal motore di messaggistica quando un messaggio viene inviato a una porta di trasmissione da un’orchestrazione. xs:string Specifica l’ID dell’adapter di backup nella porta di trasmissione.
BTS.SPTransportID Innalzata di livello dal motore di messaggistica quando un messaggio viene inviato a una porta di trasmissione da un’orchestrazione. xs:string Specifica l’ID dell’adapter principale nella porta di trasmissione.
BTS.SuspendAsNonResumable Questa proprietà può essere impostata da un adapter prima della chiamata di SubmitMessage() o in un’orchestrazione prima dell’invio di un messaggio a una porta di trasmissione. Nota: SubmitRequestMessage() ignorerà questa proprietà; i messaggi bidirezionali vengono sempre sospesi come non ripristinabili. xs:boolean Determina se il motore di messaggistica sospenderà i messaggi come non ripristinabili in caso di errore. Benché i messaggi vengano in genere sospesi come ripristinabili, esistono casi in cui questa soluzione non è appropriata. Se ad esempio si ripristina un messaggio per una porta di trasmissione o ricezione ordinata, verrà alterato l’ordine dei messaggi.

Valori validi:

-False. Il messaggio viene sospeso come ripristinabile (valore predefinito).
-Vero. Il messaggio viene sospeso come non ripristinabile.
BTS.SuspendMessageOnRoutingFailure Innalzata di livello dal motore di messaggistica dopo la ricezione di un messaggio da un adapter di ricezione e prima della relativa pubblicazione nel database MessageBox. xs:boolean Specifica il comportamento quando si verifica un errore di routing con un messaggio in ingresso.

Valori validi:

- Impostazione predefinita/False. Se la proprietà non esiste o è impostata su False, il motore notifica all’adapter l’errore di routing nel momento in cui si verifica.
-Vero. Il motore di routing sospenderà automaticamente il messaggio quando si verifica un errore di routing. Nota: Il messaggio sospeso sarà il messaggio post-pipeline/mapping e non il messaggio inviato dall'adapter (ad esempio il messaggio di rete).

Sono disponibili molte altre proprietà in questo spazio dei nomi che includono informazioni che potrebbero essere utili per alcune applicazioni BizTalk.

Proprietà Quando e dove viene innalzata di livello Tipo Descrizione
BTS.AckDescription Impostata dal motore di messaggistica prima della pubblicazione di un messaggio di riconoscimento nel database MessageBox. xs:string Identifica l'erroreDescription, che fornisce il luogo e il motivo della sospensione.
BTS.EncryptionCert Non può essere innalzata di livello. xs:int Indica l'identificazione corrispondente al certificato di crittografia. Impostare questa proprietà in un’orchestrazione o in un componente personalizzato della pipeline posizionato prima del componente della pipeline del codificatore MIME/SMIME per eseguire la crittografia di risposta su una porta di richiesta-risposta che riceve messaggi firmati e crittografati.
BTS.InterchangeID Impostata dal motore di messaggistica per ogni messaggio in arrivo sul server. xs:string Definisce l’ID univoco utilizzato per raggruppare i documenti ottenuti dallo stesso messaggio di interscambio.
BTS.Loopback Impostata da un adapter all’invio del messaggio di richiesta per un’esecuzione di tipo loopback. xs:boolean Definisce se il messaggio verrà inviato al server per un’esecuzione di tipo loopback. Nell’esecuzione di tipo loopback il messaggio di richiesta viene pubblicato nel database MessageBox dove viene direttamente instradato all’adapter di ricezione come risposta.
BTS.SignatureCertificate Impostata da alcuni adapter all’invio di un messaggio al server. Questa proprietà viene utilizzata dal componente della pipeline di risoluzione entità. xs:string Indica l’identificazione del certificato di firma utilizzato per firmare il messaggio ricevuto da BizTalk Server.
BTS.SourcePartyID Impostata dal componente della pipeline di risoluzione entità dopo che è stata identificata l’entità per il messaggio in ingresso. xs:string ID dell’entità BizTalk.
BTS.SSOTicket Se è supportata dall’adapter di ricezione, questa proprietà viene impostata alla pubblicazione del messaggio in un server. xs:string Ticket contenente il dominio e il nome utente corrente crittografati, nonché la data di scadenza del ticket. Il ticket viene utilizzato dagli adapter attivati per SSO al fine di ottenere le credenziali dell’utente per l’autenticazione con gli endpoint di destinazione.
BTS.WindowsUser Impostata da alcuni adapter all’invio di un messaggio al server. Questa proprietà viene utilizzata dal componente della pipeline di risoluzione entità. xs:string Specifica l’account di un utente per conto del quale il messaggio viene inviato al server.

Per ulteriori informazioni su proprietà e schemi di proprietà associati ad adapter e componenti di pipeline, vedere gli argomenti seguenti:

Vedere anche

Informazioni sulle proprietà di contesto di messaggi BizTalk
Come utilizzare espressioni per assegnare valori a porte dinamiche