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 que sean 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 Elemento de campo en los que se promueve Registro (con contenido simple), nodos Elemento de campo o nodos 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 siempre 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 una vez que lo haya promocionado. Al mover o cambiar el nombre de un campo de esquema, el Editor de BizTalk no actualiza XPath que define la ubicación del campo promocionado.

Tipos de datos XSD y CLR

En algunos casos, como en la promoción de propiedades, los tipos de datos XSD se convierten en tipos de datos de Common Language Runtime (CLR). En la tabla siguiente se muestran 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 Cuerda
Booleano Booleano
Byte sbyte
Fecha Fecha y hora
fechaHora Fecha y hora
Decimal Decimal
Doble Doble
ENTIDAD Cuerda
Flotar Soltero
gDay Fecha y hora
gMonth Fecha y hora
gMonthDay Fecha y hora
gYear Fecha y hora
gYearMonth Fecha y hora
identificación Cuerda
IDREF Cuerda
Int Int32
Entero Decimal
Lenguaje Cuerda
Nombre Cuerda
NCName Cuerda
negativeInteger Decimal
NMTOKEN Cuerda
nonNegativeInteger Decimal
nonPositiveInteger Decimal
normalizedString Cuerda
NOTACIÓN Cuerda
positiveInteger Decimal
QName Cuerda
Corto Int16
Cuerda Cuerda
Tiempo Fecha y hora
Token Cuerda
byte sin signo Byte
unsignedInt UInt32
entero corto sin signo UInt16

Nota:

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

Limitaciones para promover propiedades

Al promover propiedades, tenga en cuenta lo siguiente:

  • Las propiedades promocionadas están limitadas a 256 caracteres de longitud, mientras que las propiedades escritas no tienen ninguna limitación de longitud.

  • Las propiedades promocionadas se usan en el enrutamiento de mensajes y tienen un tamaño limitado por motivos de eficacia en comparación y almacenamiento. Aunque las propiedades escritas no tienen límites estrictos sobre el tamaño, el uso de valores excesivamente grandes en el contexto tendrá un impacto en el rendimiento, ya que esos valores deben procesarse y pasarse con el mensaje. Los campos distintivos son los ejemplos de propiedades escritas.

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

  • Las propiedades promocionadas están restringidas a elementos o atributos no repetidos.

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

  • Dentro de un contexto de mensaje, hay algunas propiedades que no están disponibles, ya que no se promueven. La propiedad BTS.ReceiveLocationName es una de estas propiedades. Si puede añadir un esquema de propiedad nuevo o un nuevo proyecto de BizTalk Server a su desarrollo, es posible acceder a esta propiedad desde dentro de una orquestación.

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

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

En esta sección