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