Пружинная интеграция - трансформируйте мыльный отклик - PullRequest
0 голосов
/ 08 июня 2018

У нас есть полезная нагрузка, как показано ниже, и мы хотели бы извлечь значение

 <?xml version="1.0" encoding="UTF-8"?><ns2:DCResponse xmlns:ns2="http://bgs.beienst.kl/tm/">
    <ns2:sdate>2016-01-04</ns2:sdate></ns2:DCResponse>

Конфигурация интеграции пружин имеет тип ниже трансформатора,

<int-xml:xpath-transformer input-channel="tcSoapChannel" output-channel= "tcOutputChannel"  evaluation-type="NODE_RESULT" 
      xpath-expression="//DCResponse/sdate" />

Нужно ли указывать пространство имен иесли да, то как?

Я хочу получить значение - 2016-01-04, но получаю ошибку.

1 Ответ

0 голосов
/ 08 июня 2018

Существует xpath-expression-ref isntead:

            <xsd:attribute name="xpath-expression-ref" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>
Reference to the XPathExpression instance to be evaluated against the input Message's payload.
Either this or 'xpath-expression' must be provided, but not both.
                        </xsd:documentation>
                        <xsd:appinfo>
                            <tool:annotation kind="ref">
                                <tool:expected-type type="org.springframework.xml.xpath.XPathExpression"/>
                            </tool:annotation>
                        </xsd:appinfo>
                    </xsd:annotation>
                </xsd:attribute>

Таким образом, вы можете настроить bean-компонент следующим образом:

<int-xml:xpath-expression id="xpathExpression" expression="//DCResponse/sdate" 
                          ns-prefix="ns2" ns-uri="http://bgs.beienst.kl/tm/"/>
...