Freigeben über


Verwenden von SOAP-Headern in Pipelinekomponenten

Um auf die SOAP-Headerkontexteigenschaften in Pipelinekomponenten zuzugreifen, verwenden Sie eine Kombination aus dem Kontexteigenschaftsnamen und dem Zielnamespace, wie unter Verwendung von SOAP-Headern in Orchestrationen beschrieben.

Im folgenden Codebeispiel wird der SOAP-Anforderungsheader in einer Sendepipelinekomponente für den Eigenschaftsnamen OrigDest festgelegt:

public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)  
{  
   try  
      {  
       string stringVar = "<?xml version=\"1.0\"?>  
          <OrigDest xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">  
             <Origination>Home</Origination>  
             <Destination>Work</Destination>  
          </OrigDest>";  
inmsg.Context.Write("OrigDest","http://schemas.microsoft.com/BizTalk/2003/SOAPHeader", stringVar);  
      }  
   catch (Exception ex)  
      {  
   throw new Exception("Pipeline component exception - " + ex.Message);  
      }  
return inmsg;  
}  

Weitere Informationen zu Pipelinekomponenten finden Sie unter Developing Custom Pipeline Components.

Hinweis

Wenn Sie Webdienste aus einer Orchestrierung nutzen (aufrufen), unterstützt der SOAP-Adapter nur Pass-Through-Stil-Empfangs- und Sendepipelines. Sie können eine benutzerdefinierte Pipeline verwenden, aber sie darf keine Komponenten enthalten, die die Nachrichtenteile verändern. Zu diesen Komponenten gehören die XML-Assembler-, XML-Disassembler- und XML-Validator-Komponenten.

Siehe auch

Standardpipelines
SOAP-Header mit genutzten Webdiensten