Verwenden von SOAP-Headern in Pipelinekomponenten
Um auf die Eigenschaften des SOAP-Headerkontexts in Pipelinekomponenten zuzugreifen, verwenden Sie eine Kombination aus dem Namen der Kontexteigenschaft und dem Zielnamespace, wie unter Verwenden von SOAP-Headern in Orchestrierungen beschrieben.
Im folgenden Codebeispiel wird der SOAP-Anforderungsheader in einer Sendepipelinekomponente für einen 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 Entwickeln benutzerdefinierter Pipelinekomponenten.
Hinweis
Beim Nutzen (Aufrufen) von Webdiensten aus einer Orchestrierung heraus unterstützt der SOAP-Adapter ausschließlich Pass-Through-Sende- und -Empfangspipelines. Sie können eine benutzerdefinierte Pipeline verwenden, diese darf jedoch keine Komponenten enthalten, mit denen die Textteile der Nachricht verändert werden. Zu diesen Komponenten gehören die XML-Assembler-, XML-Disassembler- und die XML-Bestätigungskomponente.