ВСО2. Как получить значение тега xml закодированных escape-символов?

Добрый день!

Клиент отправляет прокси-серверу SOAP-сообщение, закодированное в формате Xml с кодированными escape-символами. Как получить значение из Xml?

Пример. SOAP-запрос

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <GetPhone xmlns="http://ProxyService">
      <xml>&lt;xml&gt;&lt;phone&gt;8888888888&lt;/phone&gt;&lt;/xml&gt;</xml>
    </GetPhone>
  </s:Body>
</s:Envelope>

Мне нужно получить номер телефона и отправить его посреднику XSLT.

Вот мой прокси-сервис:

<inSequence>
  <script language="js">mc.setPayloadXML(new XML(mc.getPayloadXML()..*::xml.toXMLString()));</script>
  <property xmlns:ns="http://ProxyService"
            name="phoneValue"
            expression="//ns:xml/ns:phone"
            scope="default"
            type="STRING"/>
  <log level="custom">
    <property name="logValue" expression="get-property('phoneValue')"/>
  </log>
  <xslt key="in_xslt">
    <property name="phone" expression="get-property('phoneValue')"/>
  </xslt>
  <log level="full"/>
  <send>
    <endpoint>
      <address uri="http://localhost:322/"/>
    </endpoint>
  </send>
</inSequence>

Что я делаю неправильно?


person Dvortsevoy Eugene    schedule 19.11.2015    source источник


Ответы (1)


Замените toXMLString на toString :

<script language="js">mc.setPayloadXML(new XML(mc.getPayloadXML()..*::xml.toString()));</script>
person Jean-Michel    schedule 19.11.2015