Questa è la terza fase dello scenario per l'esecuzione dell'
ampliamento di
messaggi semplici. In questo argomento viene mostrato come sviluppare un flusso di messaggi per eseguire la mappatura di campi di destinazione da diversi altri campi ed inoltre viene implicato lo sviluppo di documenti di istanza e modelli di messaggi
corrispondenti.
- Nella definizione dei messaggi COMPLEX, nello spazio dei nomi www.complex.net,
creare un messaggio denominato addev2, che ha la seguente struttura:
addev2
firstname (xsd:string) local element
lastname (xsd:string) local element
branch (xsd:string) local element
accountno (xsd:string) local element
balance (xsd:decimal) local element
transvalue local complex element, base type xsd:decimal
transdir (xsd:string) local attribute
- Nella serie di messaggi MAPPING3_COMPLEX_messages, creare un nuovo file di definizione dei messaggi
denominato COMP2, che ha lo spazio dei nomi di destinazione www.comp2.net,
con prefisso c2.
- Nel file di definizione dei messaggi COMP2, creare un messaggio denominato addev2out,
che ha la struttura:
addev2out
accountdetails (xsd:string) local element
transvalue (xsd:decimal) local element
balance (xsd:decimal) local element
- Creare un flusso di messaggi denominato addev2, che contiene la seguente
mappatura: MQInput -> Mapping -> MQOutput.
- Aprire la mappa e selezionare addev2 come origine e addev2out come
destinazione.
- Collegare l'origine alla destinazione come mostrato:
accountno --- accountdetails
balance --- balance
transvalue --- transvalue
- Nel riquadro Foglio elettronico, espandere le proprietà ed impostare i seguenti
valori:
MessageType | 'addev2out'
- Impostare la destinazione accountdetails su fn:concat($source/comp:addev2/accountno,
$source/comp:addev2/branch, $source/comp:addev2/lastname, $source/comp:addev2/firstname).
- Fare clic con il tasto destro del mouse su transvalue di destinazione e fare clic su If.
- Modificare la condizione da fn:true() a $source/comp:addev2/transvalue/@transdir
= 'DEBIT'.
- Selezionare transvalue ed impostarne il valore su $source/comp:addev2/transvalue
* (-1).
- Fare clic con il tasto destro del mouse sulla condizione e fare clic su Else.
- Fare clic con il tasto destro del mouse su balance di destinazione e fare clic su If.
- Modificare la condizione da fn:true() a $source/comp:addev2/transvalue/@transdir
= 'DEBIT'.
- Selezionare balance ed impostarne il valore su $source/comp:addev2/balance
- $source/comp:addev2/transvalue.
- Fare clic con il tasto destro del mouse sulla condizione e fare clic su Condition.
- Modificare la condizione da fn:true() a $source/comp:addev2/transvalue/@transdir
= 'CREDIT'.
- Selezionare balance che segue la seconda condizione ed impostarne il relativo valore su
$source/comp:addev2/balance + $source/comp:addev2/transvalue.
- Creare due messaggi di istanza con le intestazioni RFH2 appropriate:
<comp:addev2 xmlns:comp="http://www.complex.net">
<firstname>Brian</firstname>
<lastname>Benn</lastname>
<branch>52-84-02</branch>
<accountno>567432876543</accountno>
<balance>1543.56</balance>
<transvalue transdir="DEBIT">25.28</transvalue>
</comp:addev2>
<comp:addev2 xmlns:comp="http://www.complex.net">
<firstname>Brian</firstname>
<lastname>Benn</lastname>
<branch>52-84-02</branch>
<accountno>567432876543</accountno>
<balance>1543.56</balance>
<transvalue transdir="CREDIT">25.28</transvalue>
</comp:addev2>
Sono state create le seguenti risorse:
- un messaggio denominato addev2 nella definizione dei messaggi chiamata COMPLEX
- un messaggio denominato addev2out nella definizione dei messaggi chiamata COMP2
- un flusso di messaggi denominato addev2, che contiene il file di mappatura addev2_Mapping.msgmap
- file che contengono messaggi di istanza di test
A questo punto distribuire la serie ed i flusso di messaggi