Esta es la tercera fase del escenario para realizar el
enriquecimiento de mensaje simple. Este
tema muestra cómo desarrollar un flujo de mensajes para correlacionar
campos de destino desde otros
muchos campos y también incluye el desarrollo de los modelos de mensaje y
documentos de instancia correspondientes.
- En la definición de mensaje COMPLEX, en el espacio de nombres
www.complex.net, cree un mensaje denominado addev2, que tenga la
estructura siguiente:
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
- En el conjunto de mensajes MAPPING3_COMPLEX_messages,
cree un nuevo archivo de definición de mensaje denominado
COMP2, que tiene el espacio de nombres de destino
www.comp2.net, con el prefijo c2.
- En la definición de mensaje COMP2, cree un mensaje
denominado addev2out, que tenga la estructura:
addev2out
accountdetails (xsd:string) local element
transvalue (xsd:decimal) local element
balance (xsd:decimal) local element
- Cree un flujo de mensajes denominado addev2, que contenga la correlación
siguiente: MQInput -> Mapping -> MQOutput.
- Abra la correlación y seleccione addev2 como el origen y
addev2out como el destino.
- Enlace el origen con el destino tal como se muestra:
accountno --- accountdetails
balance --- balance
transvalue --- transvalue
- En el panel de hoja de cálculo, expanda Propiedades y
establezca los valores siguientes:
MessageType | 'addev2out'
- Establezca el destino accountdetails en fn:concat($source/comp:addev2/accountno,
$source/comp:addev2/branch, $source/comp:addev2/lastname, $source/comp:addev2/firstname).
- Pulse el botón derecho del ratón en transvalue de destino y
pulse Si.
- Cambie la condición fn:true() por
$source/comp:addev2/transvalue/@transdir = 'DEBIT'.
- Seleccione transvalue y establezca su valor en
$source/comp:addev2/transvalue * (-1).
- Pulse el botón derecho del ratón en la condición y pulse
Si no.
- Pulse el botón derecho del ratón en balance de destino y pulse
Si.
- Cambie la condición fn:true() por
$source/comp:addev2/transvalue/@transdir = 'DEBIT'.
- Seleccione balance y establezca su valor en $source/comp:addev2/balance
- $source/comp:addev2/transvalue.
- Pulse el botón derecho del ratón en la condición y pulse
Condición.
- Cambie la condición fn:true() por
$source/comp:addev2/transvalue/@transdir = 'CREDIT'.
- Seleccione balance después de la segunda condición y establezca su
valor en
$source/comp:addev2/balance + $source/comp:addev2/transvalue.
- Cree dos mensajes de instancia con las cabeceras RFH2 adecuadas:
<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>
Ha creado los recursos siguientes:
- un mensaje denominado addev2 en la definición de mensaje denominada
COMPLEX
- un mensaje denominado addev2out en la definición de mensaje
denominada COMP2
- un flujo de mensajes denominado addev2, que contiene el archivo de correlación
addev2_Mapping.msgmap
- archivos que contienen mensajes de instancia para prueba
Ahora despliegue el conjunto de mensajes y
el flujo de mensajes