Транспортный заголовок пропадет после использования вызова или отправки посредника для вызова внутренней службы.Бэкэнд устанавливает свои собственные транспортные заголовки (Response) в ответе.
Если вы хотите, чтобы ваше значение оставалось доступным после посредника вызова / отправки, вам необходимо установить его, например, в Synapse (область по умолчанию).Это существует для всей транзакции.Вы можете либо указать «default» в качестве области действия, либо не указывать ее вообще, и она будет установлена на Synapse.
Если вам также необходимо отправить свойство с вашим сообщением в качестве транспортного заголовка (что и делает транспортная область), вам придется установить его дважды.Один раз в области по умолчанию и один раз в качестве транспортного заголовка.Например:
<property name="X-MediationMessageId" scope="transport" expression="get-property('MessageID')"/>
<property name="MediationMessageId" scope="default" expression="get-property('MessageID')"/>
И для извлечения используйте:
<payloadFactory media-type="json">
<format>{"mediationmessageid": "$1"}</format>
<args>
<arg evaluator="xml" expression="$ctx:MediationMessageId"/>
</args>
</payloadFactory>
Подробнее о проверке области действия Документация wso2