Questo argomento contiene le seguenti sezioni:
Utilizzare il nodo MQInput per ricevere messaggi dai client che si collegano al broker utilizzando WebSphere MQ Enterprise Transport e che utilizzano le API MQI e AMI.
Il nodo MQInput riceve l'input del messaggio in un flusso di messaggi da una coda di messaggi WebSphere MQ definita nel gestore code del broker. Il nodo utilizza MQGET per leggere un messaggio da una coda specificata e stabilisce l'ambiente di elaborazione per il messaggio. Se appropriato, è possibile definire la coda di input come coda cluster o condivisa WebSphere MQ.
I flussi di messaggi che gestiscono i messaggi ricevuti attraverso le connessioni WebSphere MQ devono sempre iniziare con un nodo MQInput. Si possono impostare le proprietà del nodo MQInput per controllare il modo in cui vengono ricevuti i messaggi, impostando di conseguenza le opzioni MQGET appropriate. Ad esempio, è possibile indicare che un messaggio venga elaborato sotto il controllo della transazione. E' possibile anche richiedere che la conversione dei dati venga eseguita al momento della ricezione di ogni messaggio di input.
Il nodo MQInput gestisce i messaggi nei seguenti domini di messaggi:
Se si include un nodo di output in un flusso di messaggi che inizia con un nodo MQInput, esso può essere un nodo di output qualsiasi tra quelli supportati, compresi i nodi di output definiti dall'utente; non è necessario includere un nodo MQOutput. E' possibile creare un flusso di messaggi che riceve i messaggi dai client WebSphere MQ e che genera i messaggi per i client che utilizzano qualunque trasporto supportato per collegarsi al broker, poiché è possibile configurare il flusso di messaggi in modo da richiedere che il broker fornisca tutte le conversioni necessarie.
Se si crea un flusso di messaggi da utilizzare come un flusso secondario, non è possibile utilizzare un nodo di input standard; è necessario utilizzare un'istanza del nodo Input come primo nodo per creare un terminale in per il flusso secondario.
Se il flusso di messaggi non riceve messaggi attraverso le connessioni WebSphere MQ, è possibile scegliere uno dei nodi di input supportati.
Il nodo MQInput è rappresentato nel workbench con la seguente icona:
Fare riferimento ai seguenti esempi per capire come utilizzare il nodo MQInput:
Una volta inserita un'istanza del nodo MQInput in un flusso di messaggi, è possibile configurarla. Fare clic con il tasto destro del mouse sul nodo nella vista dell'editor e fare clic su Proprietà. Le proprietà base del nodo vengono visualizzate nella finestra di dialogo delle proprietà.
Tutte le proprietà obbligatorie, per le quali non è specificato un valore predefinito, sono contrassegnate con un asterisco nella finestra di dialogo delle proprietà.
Configurare il nodo MQInput come segue:
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type> <Fmt>XML</Fmt></mcd>
Se si impostano i valori e quei valori sono diversi da quelli nell'intestazione MQRFH2, i valori nell'intestazione MQRFH2 hanno la precedenza.
Lasciare il campo Serie di messaggi vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME e BLOB.
Lasciare il campo Tipo messaggio vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME, BLOB e IDOC.
Lasciare il campo Formato del messaggio vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME e BLOB.
Consultare Configurazione del nodo per gestire i gruppi di messaggi per ulteriori dettagli su questa opzione.
Se si deseleziona la casella di spunta, i messaggi inviati come parte di un gruppo non vengono ricevuti nell'ordine prestabilito. Se un broker prevede di ricevere messaggi in gruppi e questa casella di spunta non è selezionata, l'ordine dei messaggi di input non è significativo o il flusso di messaggi deve essere progettato per elaborarli nel modo appropriato.
E' necessario selezionare inoltre la casella di spunta Esegui il commit per gruppo messaggi se si desidera che l'elaborazione del messaggio sia sottoposta a commit solo dopo che il messaggio finale di un gruppo sia stato ricevuto ed elaborato.
Ulteriori informazioni sulle opzioni legate a questa proprietà sono disponibili nel manuale WebSphere MQ Application Programming Reference.
Consultare Configurazione del nodo per gestire i gruppi di messaggi per ulteriori dettagli su questa opzione.
Ulteriori informazioni sulle opzioni legate a questa proprietà sono disponibili nel manuale WebSphere MQ Application Programming Reference.
Immettere un numero pari di cifre esadecimali (i caratteri da 0 a 9, da A a F e da a a f sono validi) fino a un massimo di 48 cifre. Se l'ID immesso è più corto della dimensione del campo MsgId, viene completato sulla destra con i caratteri X'00'. Questo corrisponde all'opzione MQMO_MATCH_MSG_ID di MQGMO dell'MQI.
Lasciare il campo relativo a questa proprietà vuoto se non si desidera che il nodo di input verifichi la corrispondenza dell'ID del messaggio.
Ulteriori informazioni sulle opzioni legate a questa proprietà sono disponibili nel manuale WebSphere MQ Application Programming Reference.
Immettere un numero pari di cifre esadecimali (i caratteri da 0 a 9, da A a F e da a a f sono validi) fino a un massimo di 48 cifre. Se l'ID immesso è più corto della dimensione del campo CorrelId, viene completato sulla destra con i caratteri X'00'. Questo corrisponde all'opzione MQMO_MATCH_CORREL_ID di MQGMO dell'MQI.
Lasciare il campo relativo a questa proprietà vuoto se non si desidera che il nodo di input verifichi la corrispondenza dell'ID del messaggio.
Ulteriori informazioni sulle opzioni legate a questa proprietà sono disponibili nel manuale WebSphere MQ Application Programming Reference.
WebSphere MQ converte il messaggio in entrata nella codifica e nel coded character set specificati nell'MQMD che il nodo di input fornisce nella chiamata MQGET per richiamare il messaggio dalla coda di input. Il flusso di messaggi genera tutti i suoi messaggi di output utilizzando questi valori e li inserisce nelle code di destinazione con questi valori di codifica e CodedCharSetID impostati nell'MQMD.
Questa proprietà corrisponde all'opzione MQGMO_CONVERT di MQGMO dell'MQI.
Deselezionare la casella di spunta se non si desidera che WebSphere MQ converta il messaggio.
Se si seleziona questa casella, si può specificare inoltre:
Se non si specifica un valore, viene utilizzato il valore dell'MQMD del messaggio in entrata.
Se si specifica un valore non valido, non viene eseguita alcuna conversione.
Se non si specifica un valore, viene utilizzato il valore dell'MQMD del messaggio in entrata.
Se si specifica un valore non valido, non viene eseguita alcuna conversione.
Per ulteriori informazioni sulla conversione dei dati WebSphere MQ e sui motivi dell'eventuale scelta di utilizzare questa opzione, consultare il manuale WebSphere MQ Application Programming Guide. Per ulteriori informazioni sui valori che è possibile specificare per Converti codifica e Converti CCSID (Coded Character Set ID), consultare il manuale WebSphere MQ Application Programming Reference.
Questa proprietà è importante solo se è stato selezionato Ordine logico.
Impostare la proprietà Modalità ordine su Per ordine coda se i messaggi in un gruppo devono essere richiamati ed elaborati nell'ordine in cui compaiono nella coda.
Il valore fornito per il token di serializzazione deve essere conforme alle regole descritte nel manuale WebSphere MQ Application Programming Reference.
Per ulteriori informazioni sulla serializzazione e la condivisione di code in z/OS, fare riferimento al manuale WebSphere MQ Concepts and Planning Guide.
Per ulteriori dettagli fare riferimento a Convalida dei messaggi e Proprietà della convalida per i messaggi nel dominio MRM.
Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare tutte le modifiche apportate alle proprietà.
MQInput instrada ogni messaggio che richiama con esito positivo al terminale out. Se questa operazione non riesce, si ripete il messaggio. Se il timeout per i nuovi tentativi scade (come definito dall'attributo BackoutThreshold della coda di input), il messaggio viene instradato al terminale failure; è possibile connettere nodi a questo terminale per gestire tale condizione. Se il terminale failure non è stato connesso, il messaggio viene scritto nella coda di ripristino allo stato precedente.
Se il messaggio viene rilevato da questo nodo dopo che è stata generata un'eccezione nel successivo avanzamento del flusso di messaggi, il messaggio viene instradato al terminale catch. Se il terminale catch non è stato connesso, il messaggio entra in loop continuo attraverso il nodo fino alla risoluzione del problema. E' necessario definire una coda di ripristino allo stato precedente o una coda DLQ (dead-letter queue) per impedire il loop continuo del messaggio nel nodo.
Quando si include un nodo MQInput in un flusso di messaggi, il valore impostato per Modalità transazione definisce l'eventuale ricezione dei messaggi nel punto di sincronizzazione:
(Il nodo MQOutput è l'unico nodo di output che è possibile configurare per sovrascrivere questa opzione.)
WebSphere MQ supporta i gruppi di messaggi; è possibile specificare che un messaggio appartiene a un gruppo e che la sua elaborazione e l'elaborazione di tutti gli altri messaggi nel gruppo deve essere gestita come una transazione. Cioè, se l'elaborazione di un messaggio nel gruppo ha esito negativo, tutti i messaggi nel gruppo sono ripristinati allo stato precedente. L'elaborazione del messaggio è sottoposta a commit quando l'ultimo messaggi del gruppo è stato elaborato con esito positivo, solo se l'elaborazione di tutti i messaggi ha avuto esito positivo.
Se si includono i messaggi in un gruppo ed è importante che tutti i messaggi all'interno del gruppo vengano letti dalla coda ed elaborati nell'ordine in cui sono definiti nel gruppo, è necessario completare tutte le azioni elencate di seguito:
E' necessario inoltre assicurarsi che non vi sia un altro flusso di messaggi che stia richiamando messaggi dalla stessa coda di input. In tal caso, non è garantito l'ordine in cui i messaggi all'interno del gruppo vengono elaborati.
I terminali del nodo MQInput sono descritti nella seguente tabella.
Terminale | Descrizione |
---|---|
Failure | Il terminale di output a cui è instradato il messaggio, se si verifica un errore. Anche se la proprietà Convalida è impostata, i messaggi trasmessi a questo terminale non sono convalidati. |
Out | Il terminale di output a cui è instradato il messaggio, se è richiamato con esito positivo dalla coda WebSphere MQ. |
Catch | Il terminale di output a cui è instradato il messaggio se viene generata un'eccezione nel proseguimento dell'elaborazione e questo nodo la rileva. |
Le seguenti tabelle descrivono le proprietà del nodo; la colonna con l'intestazione O indica se la proprietà è obbligatoria (contrassegnata con un asterisco nella finestra di dialogo delle proprietà, se è necessario immettere un valore quando non è specificato un valore predefinito), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge un flusso di messaggi a un file bar per distribuirlo).
Le proprietà Base del nodo MQInput sono descritte nella seguente tabella.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Nome coda | Sì | Sì | Il nome della coda di input WebSphere MQ da cui questo nodo richiama i messaggi (utilizzando MQGET) per l'elaborazione da parte di questo flusso di messaggi. |
Le proprietà Predefinite del nodo MQInput sono descritte nella seguente tabella.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Dominio messaggi | No | No | Il dominio che sarà utilizzato per analizzare il messaggio in entrata. | |
Serie di messaggi | No | No | Il nome o identificativo della serie di messaggi in cui è definito il messaggio in entrata. | |
Tipo messaggio | No | No | Il nome del messaggio in entrata. | |
Formato del messaggio | No | No | Il nome del formato fisico del messaggio in entrata. | |
Argomento | No | Sì | L'argomento predefinito per il messaggio di input. |
Le proprietà Avanzate del nodo MQInput sono descritte nella seguente tabella.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Modalità transazione | Sì | No | Sì | Indica se il messaggio in entrata viene ricevuto nel punto di sincronizzazione. I valori validi sono Automatico, Sì e No. |
Modalità ordine | Sì | No | Valore predefinito | L'ordine in cui i messaggi sono richiamati dalla coda di input in cui sono elaborati. I valori validi sono Valore predefinito, Per ID utente e Per ordine coda. |
Ordine logico | Sì | No | Selezionata | Se i messaggi sono ricevuti in ordine logico, come definito da WebSphere MQ. Questa azione viene eseguita se si seleziona la casella di spunta. |
Tutti i messaggi disponibili | Sì | No | Deselezionata | Se si seleziona la casella di spunta, tutti i messaggi nel gruppo devono essere disponibili prima che sia possibile il richiamo di un messaggio. |
Metti in corrispondenza ID messaggio | No | No | Un ID del messaggio che deve corrispondere all'ID del messaggio nell'MQMD del messaggio in entrata. | |
Metti in corrispondenza ID correlazione | No | No | Un ID correlazione che deve corrispondere all'ID correlazione nell'MQMD del messaggio in entrata. | |
Converti | Sì | No | Deselezionata | Se WebSphere MQ converte i dati nel messaggio da ricevere, in modo che siano conformi ai valori CodedCharSetId e codifica impostati in MQMD. Questa azione viene eseguita se si seleziona la casella di spunta. |
Converti codifica | No | No | La rappresentazione utilizzata per i valori numerici nei dati del messaggio, espressa come valore intero. Questa proprietà è valida solo se è stata selezionata la casella di spunta Converti. | |
Converti CCSID (Coded Character Set ID) | No | No | Il CCSID (coded character set identifier) dei dati carattere nei dati del messaggio, espresso come valore intero. Questa proprietà è valida solo se è stata selezionata la casella di spunta Converti. | |
Esegui il commit per gruppo messaggi | Sì | No | Deselezionata | Quando un transazione è sottoposta a commit durante l'elaborazione di messaggi che fanno parte di un gruppo di messaggi. Se si seleziona la casella di spunta, la transazione è sottoposta a commit dopo che il gruppo di messaggi è stato elaborato. |
Token di serializzazione z/OS | No | No | Un token definito dall'utente per supporto alle applicazioni serializzate. Il valore specificato deve essere conforme alle regole per la validità di ConnTag nella struttura MQCNO di WebSphere MQ. Tali regole sono descritte nel manuale WebSphere MQ Application Programming Reference. |
Le proprietà Convalida del nodo MQInput sono descritte nella seguente tabella.
Fare riferimento a Proprietà della convalida per i messaggi nel dominio MRM per una descrizione completa di queste proprietà.Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Convalida | Sì | Sì | Nessuno | Indica se viene effettuata la convalida. I valori validi sono Nessuno, Contenuto e Contenuto e valore. |
Azione in caso di errore | Sì | No | Eccezione | Indica cosa accade se la convalida ha esito negativo. E' possibile impostare questa proprietà solo se si imposta Convalida su Contenuto o Contenuto e valore. I valori validi sono Traccia utente, Registrazione errori locale, Eccezione e Elenco di eccezioni. |
Includi tutti i vincoli valore | Sì | No | Selezionata | Questa proprietà non può essere modificata. L'azione predefinita, indicata dalla casella di spunta selezionata, è che i controlli del vincolo del valore base sono inclusi nella convalida Contenuto e valore. |
Correzione | Sì | No | Nessuno | Questa proprietà non può essere modificata. |
Le proprietà delle Opzioni generali messaggio per il nodo MQInput sono descritte nella seguente tabella.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Intervallo di analisi | Sì | No | Su richiesta | Questa proprietà consente di controllare quando il messaggio di input viene
analizzato. I valori validi sono Su richiesta, Immediata e Completa. Fare riferimento ad Analisi su richiesta per una descrizione completa di questa proprietà. |
Utilizza programma di analisi compatto MQRFH2C per il dominino MQRFH2 | Sì | No | No | Questa proprietà consente di controllare se viene utilizzato il programma di analisi compatto MQRFH2C, invece del programma di analisi MQRFH2, per le intestazioni MQRFH2. |
Le proprietà delle Opzioni del programma di analisi XMLNSC per il nodo MQInput sono descritte nella seguente tabella.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Utilizza programma di analisi compatto XMLNSC per il dominio XMLNS | Sì | Deselezionata | No | ![]() ![]() |
Modalità di mantenimento contenuto misto | Sì | No | Nessuno | Questa proprietà controlla se il programma di analisi XMLNSC crea elementi nella struttura ad albero del messaggio quando rileva testo misto in un messaggio di input. I valori validi sono Nessuno e Tutti. La selezione del valore Tutti indica che gli elementi vengono creati per testo misto. La selezione del valore Nessuno indica che il testo misto viene ignorato e non viene creato alcun elemento. |
Modalità di mantenimento commenti | Sì | No | Nessuno | Questa proprietà controlla se il programma di analisi XMLNSC crea elementi nella struttura ad albero del messaggio quando rileva commenti in un messaggio di input. I valori validi sono Nessuno e Tutti. La selezione del valore Tutti indica che vengono creati elementi per i commenti. La selezione del valore Nessuno indica che i commenti vengono ignorati e non viene creato alcun elemento. |
Modalità di mantenimento delle istruzioni di elaborazione | Sì | No | Nessuno | Questa proprietà controlla se il programma di analisi XMLNSC crea elementi nella struttura ad albero del messaggio quando rileva istruzioni di elaborazione in un messaggio di input. I valori validi sono Nessuno e Tutti. La selezione del valore Tutti indica che vengono creati elementi per le istruzioni di elaborazione. La selezione del valore Nessuno indica che le istruzioni di elaborazione vengono ignorate e non viene creato alcun elemento. |
Le proprietà Descrizione del nodo MQInput sono descritte nella seguente tabella.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Descrizione breve | No | No | Una breve descrizione del nodo. | |
Descrizione completa | No | No | Testo che descrive lo scopo del nodo nel flusso di messaggi. |