Teilen über


Zugreifen auf SOAP-Header in WCF-Nachrichten mit Orchestrierungen

Um auf die SOAP-Headerwerte eingehender WCF-Nachrichten in Orchestrierungen zuzugreifen, verwenden Sie die Kontexteigenschaft WCF. InboundHeaders. Die WCF-Adapter kopieren benutzerdefinierte SOAP-Header und Standard-SOAP-Header in den eingehenden Nachrichten in den WCF.The WCF adapters copy custom SOAP headers and standard SOAP headers in the WCF. InboundHeaders-Eigenschaft . Außerdem ermöglichen die WCF-Adapter die programmgesteuerte Auswahl der Eigenschaften, die Sie heraufstufen oder programmgesteuert in die Kontexteigenschaften schreiben möchten. Weitere Informationen finden Sie unter SOAP-Header mit veröffentlichten WCF-Diensten .

Der in der context-Eigenschaft enthaltene Wert ist eine Zeichenfolge, die XML-Daten mit dem <Headerstammelement> enthält, und die eingehenden SOAP-Header werden als untergeordnete Elemente des <headers-Elements> kopiert. Die einfachste Möglichkeit zum Zugreifen auf diese Daten besteht darin, den BizTalk-Ausdrucks-Editor in einer Nachrichtenzuweisungs- oder Ausdrucksform zu verwenden, die Zeichenfolge in ein XmlDocument zu laden und XPath-Abfragen zu verwenden, um auf bestimmte Felder zuzugreifen. Weitere Informationen zum Erstellen von XML-Dokumenten im BizTalk-Ausdrucks-Editor finden Sie unter XLANG-s Language.

Im folgenden Codebeispiel wird der SOAP-Anforderungsheader in einer Nachrichtenzuweisungs- oder Ausdrucksform für den WCF abgerufen. InboundHeaders-Eigenschaft :

stringVar = inboundMessageInstance(WCF.InboundHeaders);

Kontexteigenschaften werden einer bestimmten Nachricht zugeordnet. Die Messaging-Engine ordnet die Werte der SOAP-Header aus der Anforderungsnachricht der Antwortnachricht nicht automatisch zu. Beim Erstellen der Antwortnachricht für einen WCF-Dienst müssen Sie die SOAP-Headerwerte speziell über wcf festlegen . OutboundCustomHeaders-Eigenschaft . Der folgende Befehl ist die einfachste Methode zum Festlegen einer Kontexteigenschaft für den SOAP-Header:

outboundMessageInstance(WCF.OutbounCustomHeaders) = "<headers><Origination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Home</Origination><Destination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Work</Destination></headers>"

Sie können die Kontexteigenschaft auch festlegen, indem Sie ein XmlDocument erstellen und den Zeichenfolgenwert des XmlDocument in die context-Eigenschaft schreiben.

Weitere Informationen zum Zugreifen auf SOAP-Header mit den WCF-Adaptern finden Sie im SDK-Beispiel "Verwenden benutzerdefinierter SOAP-Header mit den WCF-Adaptern" unter https://go.microsoft.com/fwlink/?LinkId=79960.

Weitere Informationen

Zugreifen auf SOAP-Header in WCF-Nachrichten mit PipelinekomponentenWCF Adapters-Eigenschaftenschema und EIGENSCHAFTENSOAP-Headern mit verbrauchten WCF-Diensten