Il presente argomento contiene le seguenti sezioni:
Utilizzare il nodo MQGet per ricevere i messaggi dai client che si collegano al broker mediante WebSphere MQ Enterprise Transport e che utilizzano le API MQI e AMI. E' inoltre possibile utilizzare il nodo MQGet per recuperare i messaggi posizionati in precedenza in una coda messaggi di WebSphere MQ definita nel gestore code del broker.
Con il nodo MQGet è possibile leggere un messaggio da una coda specifica e stabilire l'ambiente di elaborazione del messaggio. Se appropriato, definire la coda di input come coda condivisa o raggruppata di WebSphere MQ.
E' possibile utilizzare un nodo MQGet in un punto qualsiasi di un flusso di messaggi, diversamente da un nodo MQInput, che è possibile utilizzare soltanto come il primo nodo di un flusso di messaggi. La struttura del messaggio di output da un nodo MQGet viene creato combinando la struttura di input con la struttura risultante dalla chiamata MQGET. E' possibile impostare le proprietà del nodo MQGet per controllare la modalità di ricezione dei messaggi. Ad esempio, è possibile indicare che un messaggio venga elaborato sotto controllo di transazione oppure richiedere che alla creazione della struttura risultato venga eseguita la conversione dei dati alla ricezione di ciascun messaggio di input.
Il nodo MQGet gestisce i messaggi nei domini riportati di seguito.
Il nodo MQGet è rappresentato in workbench dalla seguente icona:
Per visualizzare le modalità di utilizzo del nodo MQGet in un flusso di messaggi, fare riferimento alle descrizioni e agli esempi riportati di seguito.
Quando si inserisce un'istanza del nodo MQGet 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à. Nella finestra di dialogo delle proprietà vengono visualizzate le proprietà di base del nodo.
Tutte le proprietà obbligatorie sono contrassegnate con un asterisco nella finestra di dialogo delle proprietà.
Configurare il nodo MQGet come riportato di seguito.
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type> <Fmt>XML</Fmt></mcd>
Se vengono impostati dei valori diversi dall'intestazione MQRFH2, questi avranno la precedenza.
Lasciare il campo Serie di messaggi vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME e BLOB.
Lasciare vuoto il campo Tipo messaggio per i programmi di analisi XML, XMLNS, XMLNSC, JMS, IDOC, MIME e BLOB.
Lasciare il campo Formato del messaggio vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME e BLOB.
Per ulteriori dettagli, fare riferimento a Convalida dei messaggi e Proprietà della convalida per i messaggi nel dominio MRM.
E' possibile immettere un riferimento al campo ESQL valido qualsiasi: è possibile che tale riferimento contenga espressioni, inclusi i riferimenti ai campi nuovi per creare un nuovo nodo all'interno della struttura del messaggio per inserire la risposta nel messaggio trasmesso dalla struttura di input.
Ad esempio, i riferimenti ai campiOutputRoot.XMLNS.ABC.DEF e Environment.GotReply sono validi. Per ulteriori informazioni, fare riferimento a Utilizzo di un nodo MQGet in un flusso di richiesta-risposta.
Quando la stringa bit del messaggio recuperato viene analizzata per creare il contenuto della struttura del messaggio, vengono utilizzate le proprietà del messaggio specificate nel nodo come predefinite.
E' possibile immettere un riferimento al campo ESQL valido qualsiasi (fare riferimento alla descrizione della proprietà Ubicazione dati di emissione). I dati posizionati in questa ubicazione costituiscono sempre la struttura di risultato completa, il cui contenuto è un elemento BLOB. Il campo Ubicazione dati risultato non viene utilizzato per i dati di avvertenza.
Se tale proprietà viene impostata su Immediato, l'analisi parziale viene sostituita e viene analizzato e convalidato il messaggio completo, ad esclusione dei tipi complessi di messaggio o scelta di composizione che non è possibile risolvere al momento. Se tale proprietà viene impostata su Completo, l'analisi parziale viene sostituita e viene analizzato e convalidato il messaggio completo; i tipi complessi di messaggio o scelta di composizione che non è possibile risolvere al momento provocano un errore di convalida.
Per ulteriori dettagli, fare riferimento a Proprietà della convalida per i messaggi nel dominio MRM.
Selezionare la casella di spunta Utilizza programma di analisi compatto MQRFH2C se si desidera utilizzare il programma di analisi MQRFH2C. Per impostazione predefinita, questa casella di spunta è deselezionata e il programma di analisi compatto non viene utilizzato.
Per ulteriori informazioni, fare riferimento a Manipolazione dei messaggi mediante il programma di analisi XMLNSC.
Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare le modifiche effettuate nelle proprietà.
Connettere i terminali di output Esterno, Avvertenza, Errore e Nessun messaggio di questo nodo a un altro nodo nel flusso di messaggi se si desidera elaborare ulteriormente il messaggio, elaborare gli errori o inviare il messaggio a destinazioni aggiuntive.
Ciò che viene trasmesso a ciascun terminale di output dipende dal codice condizione (CC) creato dalla chiamata MQGET.
Se la chiamata MQGET ha esito positivo, il nodo MQGet instrada ogni messaggio di output analizzato al terminale Esterno.
Se la chiamata MQGET ha esito negativo, ma il codice condizione indica un'avvertenza, viene trasmesso un messaggio di output non analizzato al terminale Avvertenza.
Se la chiamata MQGET ha esito negativo, con un codice condizione più severo di un'avvertenza, il messaggio di input viene trasmesso al terminale Avvertenza.
Se la chiamata MQGET ha esito negativo con un codice di errore MQRC_NO_MSG_AVAILABLE, il messaggio di
output viene trasmesso (senza un contenuto di risultato) al terminale Nessun messaggio. Il messaggio di output propagato al
terminale Nessun messaggio viene creato soltanto dal messaggio di input, in base ai valori delle proprietà
Modo creazione e Copia messaggio o Copia ambiente locale.
Se i terminali Esterno, Avvertenza o Nessun messaggio non vengono connessi a un altro nodo nel flusso di messaggi, tutti i dati trasmessi a tali terminali verranno eliminati.
Se il terminale di errore non viene connesso a un altro nodo nel flusso di messaggi, verrà generata un'eccezione dal broker quando si verifica un qualsiasi tipo di trasmissione a tale terminale.
Per ulteriori informazioni, fare riferimento a Connessione dei terminali failure.
Quando viene incluso un nodo MQGet in un flusso di messaggi, il valore impostato per Modalità transazione definisce se i messaggi vengono ricevuti nel punto di sincronizzazione.
Nella tabella riportata di seguito vengono descritti i terminali del nodo MQGet.
Terminale | Descrizione |
---|---|
Input | Si tratta del terminale di input che accetta il messaggio elaborato dal flusso di messaggi. |
Avvertenza | Si tratta del terminale di output al quale viene trasmessa la struttura di output se si verifica un errore (con un CC che indica un'avvertenza) all'interno del nodo durante il tentativo di recupero di un messaggio dalla coda. La parte MQMD del messaggio viene analizzata, ma il resto del messaggio è costituito da un elemento BLOB non analizzato. L'avvertenza viene eliminata se il terminale non è connesso e non è presente alcuna trasmissione di output dal nodo. |
Errore | Si tratta del terminale di output al quale viene instradato il messaggio di input se si verifica un errore (con un CC che indica un errore più grave di un'avvertenza) all'interno del nodo durante il tentativo di recupero di un messaggio dalla coda. |
Esterno | Si tratta del terminale di output al quale viene instradato il messaggio se viene recuperato con esito positivo dalla coda WebSphere MQ. |
Nessun messaggio | ![]() ![]() |
Nelle tabelle riportate di seguito vengono descritte 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), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge il flusso di messaggi al file bar per la relativa distribuzione).
Nella tabella riportata di seguito vengono descritte le proprietà Base del nodo MQGet.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Nome coda | Sì | Sì | Nessuna | Si tratta del nome della coda messaggi di WebSphere MQ dalla quale il nodo recupera i messaggi. |
Nella tabella riportata di seguito vengono descritte le proprietà predefinite del nodo MQGet.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Dominio messaggi | No | No | Nessuna | Si tratta del dominio da utilizzare per l'analisi del messaggio recuperato dalla coda messaggi. |
Serie di messaggi | No | No | Nessuno | Si tratta del nome o dell'identificativo della serie di messaggi in cui viene definito il messaggio recuperato dalla coda messaggi. |
Tipo messaggio | No | No | Nessuno | Si tratta del nome del messaggio recuperato dalla coda messaggi. |
Formato del messaggio | No | No | Nessuno | Si tratta del nome del formato fisico del messaggio recuperato dalla coda messaggi. |
Nella tabella riportata di seguito vengono descritte le proprietà avanzate del nodo MQGet.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Modalità transazione | No | No | Sì | Indica se il messaggio in entrata viene ricevuto nel punto di sincronizzazione. I valori validi sono Automatico, Sì e No. |
Modalità creazione | No | No | Messaggio | Indica quali parti del messaggio vengono copiate dalla struttura di input. I valori validi sono Messaggio, LocalEnvironment, Messaggio e Ambiente Locale e Nessuno. |
Copia messaggio | No | No | Nessuno | Indica quali parti del messaggio vengono copiate dalla struttura di input. I valori validi sono Nessuno, Copia intestazioni e Copia messaggio intero. |
Copia ambiente locale | No | No | Indica quali parti del messaggio vengono copiate dalla struttura di input. I valori validi sono Nessuno e Copia Ambiente Locale intero. Il valore predefinito è Copia ambiente intero locale. | |
Intervallo di attesa | Sì | No | 1000 | Indica in millisecondi il tempo massimo di attesa del recupero del messaggio dalla coda messaggi. |
Dimensione minima del buffer di messaggi | Sì | No | 4 | Indica in kb la dimensione minima del buffer. Il valore minimo di questa proprietà è 1 kb. |
Nella tabella riportata di seguito vengono descritte le proprietà di convalida del nodo MQGet.
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 | No | Sì | Nessuno | Indica se viene effettuata la convalida. I valori validi sono Nessuno, Contenuto, Contenuto e valore e Eredità. |
Azione in caso di errore | No | No | Eccezione | Indica cosa accade se la convalida ha esito negativo. E' possibile configurare questa proprietà soltanto se la proprietà Convalida viene impostata su Contenuto o Contenuto e valore. I valori validi sono Traccia utente, Registrazione errori in locale, Eccezione ed Elenco di eccezioni. |
Includi tutti i vincoli valore | No | No | True | Non è possibile modificare questa proprietà. L'azione predefinita, indicata mediante la selezione della relativa casella di spunta, corrisponde all'inclusione dei vincoli dei valori di base nella convalida Contenuto e valore. |
Correzione | No | No | Nessuno | Non è possibile modificare questa proprietà. |
Nella tabella riportata di seguito vengono descritte le proprietà di richiesta del nodo MQGet.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Ubicazione MQMD di immissione | No | No | Specifica la posizione di MQMD da utilizzare per MQGET nell'assemblaggio di messaggi di input. Il percorso predefinito è InputRoot.MQMD. | |
Ubicazione dei parametri MQ di immissione | No | No | Specifica la posizione dei parametri MQ (ad esempio, la dimensione del buffer iniziale e le sostituzioni MQGMO) nell'assemblaggio di messaggi di input. Il percorso predefinito è InputLocalEnvironment.MQ.GET. | |
Ottieni in base all'ID di correlazione | No | No | False | Quando viene selezionata questa casella di spunta, vengono ottenuti i soli messaggi con l'ID di correlazione specificato. |
Ottieni in base all'ID del messaggio | No | No | False | Quando viene selezionata questa casella di spunta, vengono ottenuti i soli messaggi con l'ID di messaggio specificato. |
Utilizza MQMD di immissione completo | No | No | False | Quando viene selezionata questa casella di spunta, viene utilizzato MQMD completo. In caso contrario, verranno utilizzati solo l'ID di correlazione e l'ID di messaggio. |
Nella tabella riportata di seguito vengono descritte le proprietà di risultato del nodo MQGet.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Ubicazione dati di emissione | No | No | OutputRoot | Specifica dove vengono posizionati i dati di output. Se tale campo viene lasciato vuoto, OutputRoot verrà utilizzata come proprietà predefinita. |
Ubicazione dati risultato | No | No | ResultRoot | Specifica l'albero secondario (del messaggio recuperato) da utilizzare. Se tale campo viene lasciato vuoto, ResultRoot verrà utilizzata come proprietà predefinita e verrà utilizzato l'intero messaggio recuperato. Se, ad esempio, viene specificato ResultRoot.MQMD.ReplyToQ, verrà utilizzato solo tale albero secondario. |
Ubicazione dei parametri MQ di emissione | No | No | Specifica dove vengono posizionati i parametri MQ di output. Se tale campo viene lasciato vuoto, OutputLocalEnvironment.MQ.GET verrà utilizzata come proprietà predefinita. Impostare Modalità creazione in modo da includere LocalEnvironment per garantire che i valori aggiornati siano visibili nei nodi Downstream. Il percorso predefinito è OutputLocalEnvironment.MQ.GET. | |
Ubicazione dati di avvertenza | No | No | OutputRoot | Specifica dove vengono posizionati i dati di output se MQGET restituisce un codice di avvertenza. Se tale campo viene lasciato vuoto, OutputRoot verrà utilizzata come proprietà predefinita. |
Nella tabella riportata di seguito vengono descritte le proprietà delle opzioni messaggio generali del nodo MQGet.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Intervallo di analisi | No | No | Su richiesta | Mediante questa proprietà è possibile controllare quando un messaggio di entrata 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 | No | No | False | Mediante questa proprietà è possibile controllare se per le intestazioni MQRFH2 viene utilizzato il programma di analisi compatto MQRFH2C anziché il programma di analisi MQRFH2. |
Nella tabella riportata di seguito vengono descritte le proprietà delle opzioni del programma di analisi XMLNSC del nodo MQGet.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Utilizza programma di analisi compatto XMLNSC per il dominio XMLNS | No | No | False | ![]() ![]() |
Modalità di mantenimento contenuto misto | No | No | Nessuno | Mediante questa proprietà è possibile controllare se il programma di analisi XMLNSC viene utilizzato per creare elementi nella struttura del messaggio quando viene rilevato un testo misto nel messaggio di entrata. I valori validi sono Nessuno e Tutti. Se viene selezionato il valoreTutti, verranno creati elementi per il testo misto. Se viene selezionato il valore Nessuno, il testo misto viene ignorato e non vengono creati elementi. |
Modalità di mantenimento commenti | No | No | Nessuno | Mediante questa proprietà è possibile controllare se il programma di analisi XMLNSC viene utilizzato per creare elementi nella struttura del messaggio quando vengono rilevati commenti nel messaggio di entrata. I valori validi sono Nessuno e Tutti. Se viene selezionato il valoreTutti, verranno creati elementi per i commenti. Se viene selezionato il valore Nessuno, i commenti vengono ignorati e non vengono creati elementi. |
Modalità di mantenimento delle istruzioni di elaborazione | No | No | Nessuno | Mediante questa proprietà è possibile controllare se il programma di analisi XMLNSC viene utilizzato per creare elementi nella struttura del messaggio quando vengono rilevate istruzioni di elaborazione nel messaggio di entrata. I valori validi sono Nessuno e Tutti. Se viene selezionato il valoreTutti, verranno creati elementi per le istruzioni di elaborazione. Se viene selezionato il valore Nessuno, le istruzioni di elaborazione vengono ignorate e non vengono creati elementi. |
Nella tabella riportata di seguito vengono descritte le proprietà di Descrizione del nodo MQGet.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Descrizione breve | No | No | Blank | Una descrizione breve del nodo. |
Descrizione completa | No | No | Vuoto | Viene descritto lo scopo del nodo nel flusso di messaggi. |