Этого нельзя сделать с помощью посредника обогащения. Поскольку в коде, связанном с обработкой целевых объектов обогащения [1] , анализируемый результат выражения xpath должен быть одним из SOAPHeaderImpl, OMElement, OMText или OMAttribute. Поскольку namespace-uri () просто возвращает строковое значение, обогащаемая цель становится недействительной. В качестве альтернативы этому варианту использования мы можем выполнить преобразование XSLT с помощью посредника XSLT. Ниже приведен пример таблицы стилей XSL, которую я пробовал.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@* | comment() | processing-instruction()">
<xsl:copy/>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}"
namespace="http://tempuri-updated.org/">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
Мы можем ссылаться на эту таблицу стилей в посреднике XSLT перед отправкой ответа из EI. Новое пространство имен будет добавлено в тело.