Zugreifen auf SOAP-Header in WCF-Nachrichten mit Pipelinekomponenten
Um mit den WCF-Adaptern in Pipelinekomponenten auf die SOAP-Header zuzugreifen, verwenden Sie eine Kombination aus dem Namen der Kontexteigenschaft, InboundHeaders und dem Zielnamespace http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties
. Die WCF-Adapter kopieren benutzerdefinierte SOAP-Header und Standard-SOAP-Header in den eingehenden Nachrichten in die InboundHeaders-Eigenschaft . Die WCF-Adapter ermöglichen außerdem 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 Kontexteigenschaft enthaltene Wert ist eine Zeichenfolge, die XML-Daten mit dem Stammelement headers>< enthält, und die eingehenden SOAP-Header werden als untergeordnete Elemente des <headers-Elements> kopiert. Weitere Informationen zum Zugreifen auf SOAP-Header mit den WCF-Adaptern finden Sie im SDK-Beispiel "Verwenden von benutzerdefinierten SOAP-Headern mit den WCF-Adaptern" unter https://go.microsoft.com/fwlink/?LinkId=79960.
Der folgende Code aus einer benutzerdefinierten Pipelinekomponente ruft den SOAP-Anforderungsheader in einer Empfangspipelinekomponente für die InboundHeaders-Eigenschaft ab:
public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
{
try
{
string stringVar = inmsg.Context.Read("InboundHeaders", "http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties").ToString();
}
catch (Exception ex)
{
throw new Exception("Pipeline component exception - " + ex.Message);
}
return inmsg;
}
Weitere Informationen zu Pipelinekomponenten finden Sie unter Entwickeln benutzerdefinierter Pipelinekomponenten.
Weitere Informationen
Zugreifen auf SOAP-Header in WCF-Nachrichten mit OrchestrierungenWCF Adapters-Eigenschaftenschema und EigenschaftenSOAP-Header mit verbrauchten WCF-Diensten