Compartir a través de


Asignación de tipos de datos para controladores de envío de TIBCO Rendezvous

La asignación de tipos de esquema XML a tipos TIBCO Rendezvous solo es posible si TIBCO Rendezvous proporciona información de tipos (xsi:type=). Los tipos no compatibles se asignan a las cadenas si es posible. Si la asignación no es posible, o si la opción está deshabilitada en la configuración del puerto, se genera un error.

Esquema XML para la asignación de tipos de datos de TIBCO Rendezvous

La siguiente tabla muestra la asignación posible desde tipos de esquema XML a tipos de TIBCO Rendezvous.

Tipo XML Tipo TIBCO RV
TIBRVMSG_MSG
TIBRVMSG_XML
xsd:dateTime TIBRVMSG_DATETIME
xsd:boolean TIBRVMSG_BOOL
xsd:byte TIBRVMSG_I8
xsd:short TIBRVMSG_I16
xsd:int TIBRVMSG_I32
xsd:long TIBRVMSG_I64
xsd:unsignedByte TIBRVMSG_U8
xsd:unsignedShort TIBRVMSG_U16
xsd:unsignedInt TIBRVMSG_U32
xsd:unsignedLong TIBRVMSG_U64
xsd:float TIBRVMSG_F32
xsd:double TIBRVMSG_F64
tibrv:IPaddress TIBRVMSG_IPADDR32
tibrv:IPport TIBRVMSG_IPPORT16
tibrv:arrayOfByte TIBRVMSG_I8ARRAY
tibrv:arrayOfShort TIBRVMSG_I16ARRAY
tibrv:arrayOfInt TIBRVMSG_I32ARRAY
tibrv:arrayOfLong TIBRVMSG_I64ARRAY
tibrv:arrayOfUnsignedByte TIBRVMSG_U8ARRAY
tibrv:arrayOfUnsignedShort TIBRVMSG_U16ARRAY
tibrv:arrayOfUnsignedInt TIBRVMSG_U32ARRAY
tibrv:arrayOfUnsignedLong TIBRVMSG_U64ARRAY
tibrv:arrayOfFloat TIBRVMSG_F32ARRAY
tibrv:arrayOfDouble TIBRVMSG_F64ARRAY
Todo lo demás, con un mensaje de depuración TIBRVMSG_STRING el registro.

Dado que el adaptador de BizTalk para TIBCO Rendezvous no tiene acceso a un esquema, al transmitir desde BizTalk Server a TIBCO Rendezvous, debe proporcionar el atributo XML xsi:type para cualquier campo que no sea de cadena. El adaptador usa esa información para generar el tipo de campo de mensaje apropiado en el mensaje de TIBCO Rendezvous.

Ejemplo de asignación de mensaje

En el ejemplo siguiente se muestra la asignación de un mensaje desde BizTalk Server a TIBCO Rendezvous. Consulte la tabla de asignación de tipos de datos para obtener información acerca de cómo se asignan los tipos.

<ns:QuoteUpdate xmlns:xsi http://www.w3.org/2001/XMLSchema-instance"  
xmlns:xsd http://www.w3.org/2001/XMLSchema"  
xmlns:tibrv="http://schemas.microsoft.com/TibcoRendezvous/Types"  
xmlns:ns="some namespace for this message [value not important, unless the schema is also used for receive ports]">  
  
<ns:SymbolName id=1 xsi:type="xsd:string">MSFT</ns:SymbolName>  
  
<ns:LastTrade id=2 xsi:type="xsd:double">28.40</ns:LastTrade>   
<ns:DayLow id=3 xsi:type="xsd:double">28.25</ns:DayLow>  
  
   
<ns:DayHigh id=4 xsi:type="xsd:double">28.40</ns:DayHigh>
<ns:MarketCap id=10>262575234981</ns:MarketCap>
<ns:Bids id=100 xsi:type="tibrv:message">
<ns:TopBids id=1 xsi:type="tibrv:arrayOfDouble">  
<item>28.40</item>  
<item>28.39</item>  
<item>28.39</item>  
<item>28.39</item>  
<item>28.38</item>  
  
</ns:TopBids>  
  
<ns:BidsSize id=2 xsi:type="tibrv:arrayOfLong">  
<item>500</item>  
<item>1000</item>  
<item>100</item>  
<item>100</item>  
<item>2000</item>  
  
</ns:BidsSize>  
</ns:Bids>  
</ns:QuoteUpdate>  
  

Una vez generado el mensaje anterior como mensaje de TIBCO Rendezvous estructurado, sería una instancia TibcoMsg de nivel superior con seis campos. Los últimos campos son un submenú, compuesto por dos campos de tipos de matriz (los elementos "item" no se asignan a campos tiBCO Rendezvous Message, sino a elementos de un campo de mensaje de tipo array). El campo MarketCap, al no tener ninguna especificación de tipo, se enviaría como un campo de mensaje de cadena.

Consulte también

Creación de controladores de envío de TIBCO Rendezvous