Freigeben über


Fördern von Eigenschaften

Die Förderung von Eigenschaften umfasst entweder die Heraufstufung von Feldelement- oder Feldattributesknoten in einem Schema, um Distinguished Fields oder Property Fields zu werden. Sie können Datensatzknoten auch als Eigenschaftsfelder heraufstufen, wenn sie über einfache Inhalte verfügen (Inhaltstypeigenschaft des Datensatzknotens , der auf "SimpleContent" festgelegt ist). Dieser Abschnitt enthält schrittweise Anleitungen, um Knoten entweder als Hervorgehobene Felder oder als Eigenschaftsfelder zu befördern.

Um einen Datensatz (mit einfachem Inhalt), ein Feldelement oder einen Feldattribut-Knoten als Eigenschaftsfeld zu fördern, können Sie zuerst einen speziellen Schematyp definieren, der als Eigenschaftsschema bezeichnet wird. Eigenschaftenschemas definieren einen unstrukturierten Satz von Feldelementknoten, in den Sie Datensätze (mit einfachem Inhalt), Feldelemente oder Attributknoten befördern. Schrittweise Anleitungen zum Erstellen eines Eigenschaftenschemas finden Sie unter How to Create Property Schemas.

Alternativ können Sie die Funktion „Schnelle Heraufstufung“ verwenden, die automatisch ein einzelnes Eigenschaftenschema erstellt und aktualisiert, wenn Sie ein neues Feldelement, ein neues Feldattribut oder einen Datensatz-Knoten (mit einfachem Inhalt) fördern.

Hinweis

Sie können ein Feld sowohl als Distinguished Field als auch als Eigenschaftsfeld höher stufen.

Hinweis

Das Feature Quick Promotion ändert das Eigenschaftenschema, indem eine neue Eigenschaft mit dem Namen des beförderten Knotens eingefügt wird.

Von Bedeutung

Verschieben oder umbenennen Sie ein Feld im Schema nicht, nachdem Sie es höhergestuft haben. Wenn Sie ein Schemafeld verschieben oder umbenennen, aktualisiert der BizTalk-Editor nicht den XPath, der die Position des höhergestuften Felds definiert.

XSD- und CLR-Datentypen

An einigen Stellen, z. B. bei der Eigenschaftsaufwertung, werden XSD-Datentypen in Datentypen der Common Language Runtime (CLR) heraufgestuft. Die folgende Tabelle zeigt die XSD-Datentypen, die höhergestuft werden können, und die entsprechenden CLR-Datentypen.

XSD-Datentyp CLR-Datentyp
anyURI Schnur
Boolescher Typ (Boolean) Boolescher Typ (Boolean)
Byte sbyte
Datum Datum/Uhrzeit
dateTime Datum/Uhrzeit
Dezimalzahl Dezimalzahl
Doppelt Doppelt
ENTITÄT Schnur
Schweben Ledig
gDay Datum/Uhrzeit
gMonth Datum/Uhrzeit
gMonthDay Datum/Uhrzeit
gYear Datum/Uhrzeit
gYearMonth Datum/Uhrzeit
Identifikationsnummer Schnur
IDREF Schnur
Integer Int32
Integer Dezimalzahl
Sprache Schnur
Name Schnur
NCName Schnur
negativeInteger Dezimalzahl
NMTOKEN Schnur
nichtnegativer Integer Dezimalzahl
nonPositiveInteger Dezimalzahl
normalisierterString Schnur
NOTATION Schnur
positiveInteger Dezimalzahl
QName Schnur
Kurz Int16
Schnur Schnur
Uhrzeit Datum/Uhrzeit
Token Schnur
unsigniertes Byte Byte
vorzeichenloser Integer UInt32
unsignedShort UInt16

Hinweis

XSD-Datentyp von base64Binary, duration, ENTITES, hexBinary, IDREFS, long, NMTOKENS und unsignedLong werden nicht für die Heraufgestufung unterstützt.

Einschränkungen für das Bewerben von Eigenschaften

Berücksichtigen Sie beim Bewerben von Eigenschaften Folgendes:

  • Beworbene Eigenschaften sind auf 256 Zeichen Länge beschränkt, während geschriebene Eigenschaften keine Längenbeschränkung haben.

  • Bevorzugte Eigenschaften werden im Nachrichtenrouting verwendet und sind aus Gründen der Effizienz in der Größe für Vergleich und Speicherung begrenzt. Während geschriebene Eigenschaften keine harten Größenbeschränkungen aufweisen, wirkt sich die Verwendung übermäßig großer Werte im Kontext auf die Leistung aus, da diese Werte weiterhin verarbeitet und mit der Nachricht übergeben werden müssen. Distinguished Fields sind die Beispiele für geschriebene Eigenschaften.

  • Datensatzknoten können niemals als Distinguished Fields gekennzeichnet werden.

  • Höhergestufte Eigenschaften sind auf nicht wiederholte Elemente/Attribute beschränkt.

  • Befördern Sie keine Felder, die demselben Stammknoten angehören, in dieselbe Eigenschaft. Solche Werbeaktionen führen zu Kompilierungs- oder Bereitstellungsfehlern.

  • Innerhalb eines Nachrichtenkontexts gibt es einige Eigenschaften, die nicht verfügbar sind, da sie nicht höhergestuft werden. Die BTS.ReceiveLocationName-Eigenschaft ist eine solche Eigenschaft. Wenn Sie ihrer Entwicklung ein neues Eigenschaftenschema oder ein neues BizTalk Server-Projekt hinzufügen können, ist es möglich, von einer Orchestrierung aus auf diese Eigenschaft zuzugreifen.

    Eigenschaftswerte werden durch den Ziel-Namespace der Eigenschaft und den Eigenschaftsnamen identifiziert. Das folgende Beispiel zeigt, wie Sie im Code auf den Empfangsort zugreifen.

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

In diesem Abschnitt