Предполагая, что вы используете адаптер WCF-BasicHttp , вы можете использовать xslt так, как вам нужно, но только если вы указали Envelope -- entire <soap:Envelope>
в качестве выбора данных для элемента тела SOAP.Если вы не укажете его, ваш заголовок будет удален из тела сообщения, и операторы xpath в заголовке будут невозможны.
Другой вариант - получить значение из свойства context InboundHeaders
с пространством имен http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties. Адаптер помещает значения заголовка SOAP в это свойство контекста InboundHeaders
по умолчанию.Если вам нужно значение контекста в отображении, без оркестровки, попробуйте заглянуть в сообщество, созданное Context Accessor Functoid
.
Также возможно сделать собственное продвижение свойства для значений заголовка, как вы просили в комментариях., но не в xslt.Только если вы добавите XML Disassembler Pipeline Component
, затем создадите схему всего мыльного сообщения, затем установите продвижение по схеме и, наконец;укажите схему в Document schemas
части компонента конвейера.Я бы не советовал использовать этот подход, поскольку он требует развертывания схемы мыла, которая будет дублироваться со схемой мыла BizTalk по умолчанию.