WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 Sistemas operativos: AIX, HP-UX, Linux, Solaris, Windows

Representación XML de SMO

Algunos primitivos de mediación utilizan una serialización XML de un objeto de mensaje de servicio (SMO).

Introducción

Los primitivos de mediación Registrador de mensajes y XSLT utilizan una serialización XML del SMO.

El primitivo de mediación Registrador de mensajes registra una serialización XML del SMO. El primitivo de mediación XSLT transforma mensajes utilizando una transformación XSLT 1.0. La transformación opera en una serialización XML del SMO. Si debe saber qué datos registra el Registrador de mensajes, o escribir transformaciones XSL que operen en una serialización XML, debe saber cómo se representa el SMO como XML.

Generalmente, un SMO contiene datos de cabecera, información de contexto y un cuerpo que contiene la carga del mensaje. La carga del mensaje hace referencia a los datos de aplicación que se intercambian entre puntos finales de servicio. Los datos de cabecera tienen una estructura fija; la estructura de los datos del contexto es parcialmente fija y está parcialmente definida por el diseñador de flujos. La estructura del cuerpo se define mediante una referencia a un mensaje definido por WSDL.

Elemento raíz

Los primitivos de mediación Registrador de mensajes y XSLT permiten especificar la raíz de la serialización, y el elemento raíz del documento XML refleja esta raíz.

Generalmente, el elemento raíz recibe el nombre según la raíz seleccionada en la estructura de SMO y se encuentra en el espacio de nombres predeterminado. No obstante, si se serializa el SMO completo, seleccionando / como raíz del primitivo de mediación, el nombre del elemento raíz es smo y se encuentra en el espacio de nombres de SMO.

Por ejemplo, un SMO serializado desde / sería parecido al siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<smo:smo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:accounts="urn://www.example.com/accounts" 
xmlns:smo="http://www.ibm.com/websphere/sibx/smo/v6.0.1">
  <context>
    <correlation xsi:type="accounts:CorrelateByAgentId">
      <agentid>SMI537654-2</agentid>
    </correlation>
    <transient xsi:type="accounts:ExchangeRate">
      <from>GBP</from>
      <to>USD</to>
      <multiplier>1.74068</multiplier>
    </transient>
  </context>
  <headers>
    <SMOHeader>
      <MessageUUID>b048778f-0701-0000-0080-80c5b8a4d8b8</MessageUUID>
      <Version>
        <Version>6</Version>
        <Release>0</Release>
        <Modification>1</Modification>
      </Version>
    </SMOHeader>
  </headers>
  <body xsi:type="accounts:processPaymentRequestMsg">
    <processPayment>
      <agentid>SMI537654-2</agentid>
      <priority>2</priority>
      <payment>
        <value>415.26</value>
        <currency>USD</currency>
        <date>2005-01-16Z</date>
        <account>546219G</account>
      </payment>
    </processPayment>
  </body>
</smo:smo>
El mismo SMO, serializado desde /body, tendría este aspecto:
<?xml version="1.0" encoding="UTF-8"?>
<body xsi:type="accounts:processPaymentRequestMsg" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:accounts="urn://www.example.com/accounts">
  <processPayment>
    <agentid>SMI537654-2</agentid>
    <priority>2</priority>
    <payment>
      <value>415.26</value>
      <currency>USD</currency>
      <date>2005-01-16Z</date>
      <account>546219G</account>
    </payment>
  </processPayment>
</body>

Estructura del cuerpo

Generalmente, el cuerpo de la serialización XML se define por referencia a un mensaje WSDL.

Para cada parte definida por el mensaje WSDL, existe un elemento bajo el cuerpo. Cada elemento recibe el nombre como se indica a continuación:
  • Si el mensaje WSDL tiene una única parte, escrita en la definición de WSDL mediante un elemento global, el cuerpo contiene un único elemento cuyo nombre proviene del elemento global. Este caso incluye el estilo acomodado de literal de documento de la definición de WSDL. Este estilo lo utilizan generalmente los diseñadores de servicios web y se genera mediante el editor de interfaz de WebSphere Integration Developer.
    Nota: El elemento se encuentra en el espacio de nombres predeterminado y no en el espacio de nombres del elemento global.
  • Si el mensaje WSDL tiene varias partes, o si tiene una parte descrita por un tipo XSD, el nombre de cada elemento es el mismo que corresponde a la parte WSDL.

Reference topic

Condiciones de uso | Evalúe esta página

Icono de fecha y horaÚltima actualización: 1 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.wbit.help.medprim.doc.nl1_6.0.1\ref\rwesb_XMLrepresentationofSMO.html

(C) Copyright IBM Corporation 2005. Reservados todos los derechos.
Este centro de información está basado en tecnología Eclipse. (http://www.eclipse.org)