Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Orchestrierungen verwenden Eigenschaftenschemas zum Definieren von SOAP-Headerkontexteigenschaften. Sie verwenden den BizTalk-Editor, um SOAP-Headerkontexteigenschaften festzulegen.
Definieren von SOAP-Headerkontexteigenschaften mit Eigenschaftenschemas
Sie benötigen ein Eigenschaftenschema, um definierte SOAP-Headerkontexteigenschaften in Orchestrierungen zu verwenden. Das Eigenschaftenschema muss den Zielnamespace http://schemas.microsoft.com/BizTalk/2003/SOAPHeader haben, und die Property Schema Base-Eigenschaft muss auf MessageContextPropertyBase festgelegt sein. Jeder Stammelementname im Eigenschaftenschema muss mit dem Namen des Stammelements im definierten SOAP-Header übereinstimmen. Anschließend können Sie Werte für die Kontexteigenschaften mithilfe des Namespaces des Eigenschaftenschemas und des Eigenschaftennamens festlegen.
Hinweis
Der Namespace des Eigenschaftenschemas unterscheidet sich vom Namespace des Zielschemas (http://schemas.microsoft.com/BizTalk/2003/SOAPHeader). Ihr Namespace kann eine beliebige Zeichenfolge sein. In der Regel wird der Name des Projekts jedoch standardmäßig verwendet.
Der folgende Code zeigt das Zuweisen einer SOAP-Headerkontexteigenschaft, bei der der Eigenschaftenschemanamespace SOAPHeader mit einem Eigenschaftsnamen von OrigDest ist:
requestMessageInstance(SOAPHeader.OrigDest) = stringVar;
Weitere Informationen zu Eigenschaftenschemas und Kontexteigenschaften finden Sie unter Property Schemas.
Verwenden des BizTalk-Editors zum Festlegen von SOAP-Headerkontexteigenschaften
Bei Orchestrierungen werden die SOAP-Headerkontexteigenschaften auf Zeichenfolgen festgelegt, die XML-Daten enthalten. Sie legen diese Zeichenfolgen mithilfe des BizTalk-Ausdrucks-Editors in einer Nachrichtenzuweisungs- oder Ausdrucksform fest.
Das folgende Beispiel zeigt die Zeichenfolge, die die Kontexteigenschaft festlegt:
RequestMessageInstance(SOAPHeader.OrigDest) = "<?xml version=\"1.0\"?>
<OrigDest xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">
<Origination>Home</Origination>
<Destination>Work</Destination>
</OrigDest>"
Verwenden des BizTalk-Editors zum Erstellen einer Instanz eines SOAP-Header-Stammelements
Das Einstellen des SOAP-Headers auf die korrekte Zeichenfolge kann herausfordernd sein. Beim Hinzufügen einer Webreferenz zu einem BizTalk-Projekt werden alle komplexen Webnachrichtenparts als Stammelemente zu "Reference.xsd" hinzugefügt. Reference.xsd enthält auch Stammelemente für jeden definierten SOAP-Header. Um sicherzustellen, dass Sie den SOAP-Header mit der richtigen Zeichenfolge festlegen, sollten Sie den BizTalk-Editor verwenden, um eine Instanz des SOAP-Headerstammelements für Reference.xsd zu erstellen. Sie können die generierten Instanzdaten direkt verwenden oder die Instanzdaten nutzen, um Ihre tatsächlichen Daten darin einzufügen.
Weitere Informationen zur Verwendung des BizTalk-Editors zum Generieren von Instanzdaten finden Sie unter How to Generate Instance Messages.
Erstellen eines XmlDocument zum Festlegen von Kontexteigenschaften
Sie können Kontexteigenschaften festlegen, indem Sie ein XmlDocument erstellen und den Zeichenfolgenwert des XmlDocument in die Kontexteigenschaft schreiben. Sie deklarieren eine Variable vom Typ XMLDocument und weisen die XML-Daten zu.
Das folgende Beispiel zeigt das Festlegen einer Deklarierung einer Variablen vom Typ XMLDocument und Zuweisen der XML-Daten:
xmlDoc.LoadXml("<?xml version=\"1.0\"?><OrigDest xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\"><Origination>Home</Origination><Destination>Work</Destination></OrigDest>");
Das folgende Beispiel zeigt das Festlegen der Kontexteigenschaft:
RequestMessageInstance(SOAPHeader.OrigDest) = xmlDoc.OuterXml;
Weitere Informationen zur Verwendung des BizTalk-Ausdrucks-Editors finden Sie unter "Anforderungen und Einschränkungen für Ausdrücke". Weitere Informationen zum Aufrufen von .NET-Klassen finden Sie unter Erstellen von Nachrichten im Benutzercode.
Erstellen von SOAP-Headern für eine SOAP-Anforderung
Wenn Sie SOAP-Header für die SOAP-Anforderung erstellen, müssen Sie sicherstellen, dass Sie die SOAP-Header ordnungsgemäß erstellt haben. Der SOAP-Adapter überprüft nicht den Inhalt der SOAP-Headerkontexteigenschaften.
Hinweis
Wenn der SOAP-Header falsch ist, kann BizTalk die SOAP-Anforderung nicht an den Webdienst senden.
Die SOAP-Antwort, die BizTalk an den Webdienst zurückgibt, kann auch SOAP-Header enthalten. Sie können nur auf diese SOAP-Header zugreifen, wenn sie definierte SOAP-Header sind.
Hinweis
Verbrauchte Webdienste unterstützen nur definierte SOAP-Header.
Weitere Informationen zu definierten SOAP-Headern finden Sie unter Verwenden von SOAP-Headern. Die SOAP-Antwortheader werden den Kontexteigenschaften zugewiesen und verwenden dabei dieselbe Syntax wie die SOAP-Header der Anforderung.
Der folgende Code zeigt, wie Sie auf die SOAP-Header der Antwort zugreifen:
stringVar = ResponseMessageInstance(SOAPHeader.OrigDest);
Die in den Kontexteigenschaften enthaltenen Werte sind Zeichenfolgen, die XML-Daten enthalten. Sie legen diese Zeichenfolgen mithilfe des BizTalk-Ausdrucks-Editors in einer Nachrichtenzuweisungs - oder Ausdrucksform fest. Sie laden die Zeichenfolge in einem XmlDocument und verwenden XPath-Abfragen, um auf bestimmte Felder zuzugreifen.
Weitere Informationen zum Erstellen von XML-Dokumenten im BizTalk Expression Editor finden Sie unter XLANG-s Language.