Heraufstufen von Eigenschaften
Die Heraufstufung von Eigenschaften umfasst entweder die Heraufstufung von Feldelement - oder Feldattributeknoten in einem Schema zu Distinguished Fields oder Property Fields. Sie können Datensatzknoten auch als Eigenschaftenfelder heraufstufen, wenn sie über einfachen Inhalt verfügen (Inhaltstypeigenschaft des Knotens Datensatz , der auf SimpleContent festgelegt ist). Dieser Abschnitt enthält schrittweise Anweisungen zum Höherstufen von Knoten als Distinguished Fields oder als Eigenschaftenfelder.
Wenn Sie einen Datensatz (mit einfachem Inhalt), ein Feldelement oder einen Feldattribute-Knoten als Eigenschaftenfeld heraufstufen möchten, können Sie zunächst einen speziellen Typ von Schema definieren, das als Eigenschaftenschema bezeichnet wird. Eigenschaftenschemas definieren einen unstrukturierten Satz von Feldelementknoten , in den Sie Die Knoten Datensatz (mit einfachem Inhalt), Feldelement oder Feldattribute heraufstufen. Schritt-für-Schritt-Anweisungen zum Erstellen eines Eigenschaftenschemas finden Sie unter Erstellen von Eigenschaftenschemas.
Alternativ können Sie die Schnellaufstufungsfunktion verwenden, die automatisch ein einzelnes Eigenschaftenschema erstellt und aktualisiert, wenn Sie einen neuen Feldelement-, Feldattribute- oder Datensatzknoten (mit einfachem Inhalt) heraufstufen.
Hinweis
Sie können ein Feld sowohl als Distinguished Field als auch als Eigenschaftenfeld heraufstufen.
Hinweis
Die Schnellaufstufungsfunktion ändert das Eigenschaftenschema, indem eine neue Eigenschaft mit dem Namen des heraufgestuften Knotens eingefügt wird.
Wichtig
Nach dem Heraufstufen eines Felds im Schema sollten Sie dieses nicht verschieben oder umbenennen. Wenn Sie ein Schemafeld verschieben oder umbenennen, wird der XPath, der die Position des höher gestuften Felds definiert, von BizTalk Server nicht aktualisiert.
XSD- und CLR-Datentypen
Gelegentlich (z. B. bei der Eigenschaftsheraufstufung) werden XSD-Datentypen auf CLR-Datentypen (Common Language Runtime) höher gestuft. In der folgenden Tabelle sind die XSD-Datentypen, die höher gestuft werden können, sowie die entsprechenden CLR-Datentypen aufgeführt.
XSD-Datentyp | CLR-Datentyp |
---|---|
anyURI | Zeichenfolge |
Boolean | 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 |
Integer | Decimal |
Sprache | String |
Name | 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 |
Hinweis
Für die XSD-Datentypen base64Binary, duration, ENTITES, hexBinary, IDREFS, long, NMTOKENS und unsignedLong wird die Heraufstufung nicht unterstützt.
Einschränkungen für das Heraufstufen von Eigenschaften
Beachten Sie beim Heraufstufen von Eigenschaften folgende Aspekte:
Höher gestufte Eigenschaften dürfen maximal 256 Zeichen lang sein. Für geschriebene Eigenschaften gibt es hingegen keine Längenbeschränkung.
Höher gestufte Eigenschaften werden beim Nachrichtenrouting verwendet und unterliegen aus Effizienzgründen hinsichtlich des Vergleichs und der Speicherung einer Längenbeschränkung. Geschriebene Eigenschaften haben zwar keine Größenbeschränkungen, die Verwendung besonders langer Werte kann sich jedoch negativ auf die Leistung auswirken, da diese Werte verarbeitet und mit der Nachricht übergeben werden müssen. Gekennzeichnete Felder sind Beispiele geschriebener Eigenschaften.
Datensatzknoten können niemals als Distinguished Fields heraufgestuft werden.
Sich wiederholende Elemente/Attribute können nicht höher gestuft werden.
Felder, die demselben Stammknoten angehören, dürfen nicht auf dieselbe Eigenschaft höher gestuft werden. Heraufstufungen dieser Art führen zu Fehlern beim Kompilieren oder bei der Bereitstellung.
Innerhalb eines Nachrichtenkontexts gibt es verschiedene Eigenschaften, die seit ihrer Heraufstufung nicht verfügbar sind. Die BTS.ReceiveLocationName-Eigenschaft ist eine solche Eigenschaft. Wenn Sie Ihrem Entwicklungsprojekt ein neues Eigenschaftenschema oder ein neues BizTalk Server-Projekt hinzufügen können, ist es auch möglich, in einer Orchestrierung auf diese Eigenschaft zuzugreifen.
Eigenschaftenwerte werden anhand des Zielnamespaces und des Namens der Eigenschaft bestimmt. Das folgende Beispiel veranschaulicht den Zugriff auf den Empfangsspeicherort im Code.
string receiveLocationName = pInMsg.Context.Read("ReceiveLocationName", sysNamespace);