Compartir a través de


Promoción de propiedades

La promoción de propiedades implica promover nodos Elemento de campo o Atributo de campo en un esquema para ser Campos distintivos o Campos de propiedad. También puede promover los nodos Record como Campos de propiedad si tienen contenido simple (propiedad Content Type del nodo Record establecido en SimpleContent). En esta sección se proporcionan instrucciones paso a paso para promover nodos como Campos distintivos o como Campos de propiedad.

Para promover un registro (con contenido simple), un elemento de campo o un nodo Atributo de campo como campo de propiedad, primero puede definir un tipo especial de esquema denominado esquema de propiedad. Los esquemas de propiedades definen un conjunto no estructurado de nodos field Element en los que se promueve Record (con contenido simple), Elemento Field o Nodos de atributo de campo . Para obtener instrucciones paso a paso para crear un esquema de propiedades, vea Cómo crear esquemas de propiedades.

Como alternativa, puede usar la característica Promoción rápida , que creará y actualizará automáticamente un único esquema de propiedades cada vez que promueva un nuevo nodo Field Element, Field Attribute o Record (con contenido simple).

Nota

Puede promover un campo como campo distintivo y un campo de propiedad.

Nota

La característica Promoción rápida modifica el esquema de propiedades insertando una nueva propiedad con el nombre del nodo promocionado.

Importante

No mueva ni cambie el nombre de un campo en el esquema después de haberlo promocionado. Al mover o cambiar el nombre de un campo del esquema, el Editor de BizTalk no actualiza el XPath que define la ubicación del campo promocionado.

Tipos de datos XSD y CLR

En algunos lugares, como en la promoción de propiedades, los tipos de datos XSD se promoción a tipos de datos CLR (Common Language Runtime). La siguiente tabla muestra los tipos de datos XSD que se pueden promocionar y los tipos de datos CLR correspondientes.

Tipo de datos XSD Tipo de datos de CLR
anyURI Cadena
Booleano Boolean
Byte sbyte
Date DateTime
dateTime DateTime
Decimal Decimal
Double Double
ENTITY String
Float Single
gDay DateTime
gMonth DateTime
gMonthDay DateTime
gYear DateTime
gYearMonth DateTime
ID String
IDREF String
Int Int32
Entero Decimal
Idioma String
Nombre String
NCName String
negativeInteger Decimal
NMTOKEN String
nonNegativeInteger Decimal
nonPositiveInteger Decimal
normalizedString String
NOTATION String
positiveInteger Decimal
QName String
Short Int16
String String
Time DateTime
Token String
unsignedByte Byte
unsignedInt UInt32
unsignedShort UInt16

Nota

Los tipos de datos XSD de base64Binary, duration, ENTITES, hexBinary, IDREFS, long, NMTOKENS y unsignedLong no se admiten para promoción.

Limitaciones para promocionar propiedades

Al promocionar propiedades, tenga en cuenta lo siguiente:

  • Las propiedades promocionadas no pueden poseer más de 256 caracteres de longitud, mientras que en las propiedades escritas no existe limitación.

  • Las propiedades promocionadas se utilizan en el enrutamiento de mensajes y poseen un tamaño limitado por motivos de eficacia en su comparación y almacenamiento. Aunque las propiedades escritas no poseen limitaciones en el tamaño, el empleo de valores excesivamente grandes en el contexto puede afectar al rendimiento, ya que pueden procesarse y transmitirse con el mensaje. Los campos distintivos son los ejemplos de propiedades escritas.

  • Los nodos de registro nunca se pueden promover como campos distintivos.

  • Las propiedades promocionadas se restringen a atributos o elementos que no son de repetición.

  • No promocione a la misma propiedad campos que pertenezcan al mismo nodo raíz. Dichas promociones producen errores de compilación o de implementación.

  • En un contexto de mensaje, hay algunas propiedades que no están disponibles, ya que no se han promocionado. La propiedad BTS.ReceiveLocationName es de ese tipo. Si puede agregar un nuevo esquema de propiedad o un nuevo proyecto de BizTalk Server al desarrollo, es posible tener acceso a esa propiedad desde una orquestación.

    Los valores de propiedades se identifican mediante el espacio de nombres de destino de propiedad y el nombre de la propiedad. En el ejemplo siguiente se muestra cómo obtener acceso a la ubicación de recepción en el código.

    string receiveLocationName = pInMsg.Context.Read("ReceiveLocationName", sysNamespace);

En esta sección