Mappage de types de données pour les gestionnaires d'envoi dans TIBCO Rendezvous
Le mappage des types de schémas XML aux types TIBCO Rendezvous est possible seulement si TIBCO Rendezvous fournit les informations relatives aux types (xsi:type=). Les types non pris en charge sont mappés à des chaînes dans la mesure du possible. Si le mappage est impossible ou si l'option est désactivée dans la configuration du port, une erreur est générée.
Mappage des types de schémas XML aux types de données TIBCO Rendezvous
Le tableau suivant présente le mappage possible entre les types de schémas XML et les types TIBCO Rendezvous.
Type XML | Type 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 |
Autre type, avec un message de débogage | TIBRVMSG_STRING le journal. |
Étant donné que l’adaptateur BizTalk pour TIBCO Rendezvous n’a pas accès à un schéma, lorsque vous transmettez de BizTalk Server à TIBCO Rendezvous, vous devez fournir l’attribut XML xsi:type
pour tout champ non-chaîne. L'adaptateur utilise ces informations pour générer le type de champ de message approprié dans le message TIBCO Rendezvous.
Exemple de mappage d'un message
L'exemple suivant illustre le mappage d'un message entre BizTalk Server et TIBCO Rendezvous Pour plus d'informations sur le mappage des types, consultez le tableau de mappage des types de données.
<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>
Une fois le message précédent généré sous la forme d'un message TIBCO Rendezvous structuré, il devient une instance TibcoMsg de niveau supérieur avec six champs. Les derniers champs sont un sous-message, composé de deux champs de types tableaux (les éléments « item » ne sont pas mappés aux champs TIBCO Rendezvous Message, mais aux éléments d’un champ message de type array
). Le champ MarketCap, dont le type n'est pas spécifié, est envoyé en tant que champ de message de type chaîne.