Creazione del flusso di messaggi

Viene fornito il flusso di messaggi Video, ma se si preferisce è possibile creare autonomamente il flusso di messaggi.

Utilizzare le seguenti istruzioni per creare il flusso di messaggi Video. Vi sono istruzioni dettagliate per alcuni dei seguenti passi; per accedere a tali istruzioni fare clic sul link fornito alla fine del passo.

  1. Passare alla vista Broker Application Development.
  2. Creare un nuovo progetto flusso di messaggi denominato Video Message Flows. Per istruzioni, consultare Creazione di un progetto flusso di messaggi.
  3. Creare un nuovo flusso di messaggi denominato Video_Test. Per istruzioni, consultare Creazione di un flusso di messaggi.
  4. Nell'editor Flusso di messaggi, aggiungere e ridenominare i nodi elencati nella seguente tabella. Per istruzioni, consultare Aggiunta di un nodo.
    Tipo nodo Nome nodo
    MQInput VIDEO_XML_IN
    MQInput VIDEO_TDS_IN
    MQInput VIDEO_CWF_IN
    MQOutput VIDEO_OUT
    MQOutput VIDEO_FAIL
    Compute Extract Fields
  5. Collegare i nodi come elencato nella seguente tabella. Per istruzioni, consultare Collegamento nodi.
    Per controllare che i nodi siano stati collegati correttamente, vedere la figura in Informazioni sul flusso di messaggi Video.
    Nome nodo Terminale Collegare a questo nodo
    VIDEO_XML_IN Failure VIDEO_FAIL
    Out Extract Fields
    Catch VIDEO_FAIL
    VIDEO_TDS_IN Failure VIDEO_FAIL
    Out Extract Fields
    Catch VIDEO_FAIL
    VIDEO_CWF_IN Failure VIDEO_FAIL
    Out Extract Fields
    Catch VIDEO_FAIL
    Extract Fields Out VIDEO_OUT
  6. Configurare le proprietà del nodo come viene elencato nella seguente tabella. Accettare i valori predefiniti per tutte le proprietà a meno che nella tabella non venga elencato un valore alternativo. Per istruzioni, consultare Configurazione di un nodo.
    Per i nodi VIDEO_XML_IN, VIDEO_TDS_IN e VIDEO_CWF_IN, è necessario impostare la proprietà dell'identificativo serie di messaggi. Ogni serie di messaggi dispone di un identificativo univoco. Per individuare qual'è l'identificativo della serie di messaggi creata:
    1. Nel Navigator risorse, espandere l'albero di navigazione: Video Messages > Video >messageSet.mset.
    2. Fare doppio clic su messagetSet.mset per aprirlo.
    3. L'identificativo univoco della serie di messaggi viene visualizzato nel campo ID serie di messaggi.
    Nome nodo Pagina Proprietà Valore
    VIDEO_XML_IN Base Nome coda VIDEO_XML_IN
    Predefinito Dominio messaggio MRM
    Predefinito Serie di messaggi (Selezionare l'identificativo univoco della serie di messaggi)
    Predefinito Tipo messaggio Customer
    Predefinito Formato messaggio XML1
    VIDEO_TDS_IN Base Nome coda VIDEO_TDS_IN
    Predefinito Dominio messaggio MRM
    Predefinito Serie di messaggi (Selezionare l'identificativo univoco della serie di messaggi)
    Predefinito Tipo messaggio Customer
    Predefinito Formato messaggio TDS1
    VIDEO_CWF_IN Base Nome coda VIDEO_CWF_IN
    Predefinito Dominio messaggio MRM
    Predefinito Serie di messaggi (Selezionare l'identificativo univoco della serie di messaggi)
    Predefinito Tipo messaggio Customer
    Predefinito Formato messaggio CWF1
    VIDEO_FAIL Base Nome coda VIDEO_FAIL
    Extract Fields Base Modulo ESQL Video_Test_Compute
    VIDEO_OUT Base Nome coda VIDEO_OUT
  7. Aggiungere i seguenti moduli codice ESQL al file Video_Test.esql. E' possibile copiare e incollare il codice ESQL direttamente nel file esql, se lo si desidera.
    Per istruzioni, consultare Sviluppo di ESQL.
    CREATE COMPUTE MODULE Video_Test_Compute
       CREATE FUNCTION Main() RETURNS BOOLEAN
       BEGIN
          -- Questo ESQL estrae alcuni campi dal messaggio di input
          -- solo per dimostrare i riferimenti utilizzati per i campi in differenti
          -- spazi nomi
    
    	  SET OutputRoot = InputRoot;
          DECLARE addr NAMESPACE 'http://www.ibm.com/AddressDetails';
          DECLARE brw NAMESPACE 'http://www.ibm.com/BorrowedDetails';
          DECLARE I INTEGER;
    
    SET OutputRoot.MRM.Name = InputRoot.MRM.Name;
    SET OutputRoot.MRM.addr:Address = InputBody.addr:Address;
    
    IF InputRoot.MRM.ID ='P' THEN
    SET OutputRoot.MRM.PassportNo = InputBody.PassportNo;
    ELSEIF InputRoot.MRM.ID ='D' THEN SET OutputRoot.MRM.DrivingLicenseNo=InputBody.DrivingLicenseNo; ELSEIF InputRoot.MRM.ID ='C' THEN SET OutputRoot.MRM.CreditCardNo=InputBody.CreditCardNo;
    END IF; SET I=1; WHILE I<= CARDINALITY(InputBody.brw:Borrowed.*[]) DO SET OutputRoot.MRM.brw:Borrowed[I].VideoTitle = InputBody.brw:Borrowed[I].VideoTitle; SET OutputRoot.MRM.brw:Borrowed[I].DueDate=InputBody.brw:Borrowed[I].DueDate + INTERVAL '1' DAY; SET OutputRoot.MRM.brw:Borrowed[I].Cost=InputBody.brw:Borrowed[I].Cost*2; SET I=I+1; END WHILE; SET OutputRoot.MRM.Magazine = InputBody.Magazine; RETURN TRUE; END; END MODULE

icona Pagina principale   Torna alla pagina home dell'esempio