Использование обогащенного сообщения - PullRequest
0 голосов
/ 22 января 2012

У меня есть поток мулов с некоторой полезной нагрузкой javabean, я хотел бы обогатить некоторые переменные с помощью некоторого xml (xpath), возвращенного из исходящего URL-адреса https.

То, что я пытаюсь сделать, это нечтонапример: (Предположим, что проблема с сертификатом / tls не является проблемой):

<enricher>
    <https:outbound-endpoint name="clientEndpoint" address="https://someaddress" 
         connector-ref="httpConnector" exchange-pattern="request-response"/> 
        <enrich target="#[variable:paymentValidated]" source="#[xpath:INCIDENTS/INCIDENT/@state]" />
</enricher>
<logger message="#[variable:paymentValidated]" level="ERROR" />

Однако я не могу работать с xml, возвращаемым из конечной точки https, я продолжаю получать нарушения XPATH.После проверки моего xpath с помощью валидатора я уверен, что я даю правильный xpath.

Я также пытался использовать преобразователь ответа bytearraytostring - но проблема не была решена.

У кого-либо есть идеикак это исправить и заставить его работать ??

xml, который я пытаюсь проанализировать:

<?xml version="1.0" encoding="UTF-8" ?> 
<INCIDENTS process_ms="56">
  <INCIDENT assignee="Unassigned" closedtime="" createdtime="Fri Jan 20 15:13:10 EST 2012" creator="System" disposition="Not Set" disposition_id="-1" domain="SES" guid="5749976847410062927" id="147" incident_type="security" modifiedtime="Sat Jan 21 15:13:15 EST 2012" open_duration="2 days 18 hours 53 mins 56 secs" priority="3" referencenum="0000000147" severity="4" state="New" state_id="0" status="Open" status_id="1" team="Unassigned" tracking="No" type="SomeType" userpriority="">
    <DESCRIPTION>
    <![CDATA[ Some message" ]]> 
    </DESCRIPTION>
  </INCIDENT>
</INCIDENTS>

Ответы [ 2 ]

0 голосов
/ 05 августа 2015

Вы также можете использовать функцию Mule Xpath3 из Mule 3.6
Примерно так: -

#[xpath3('/INCIDENTS/INCIDENT[1]/@state')]

Пожалуйста, найдите линк для Xpath3 здесь: - https://developer.mulesoft.com/docs/display/current/XPath

0 голосов
/ 23 января 2012

Поскольку вы не видите точную ошибку, я попытаюсь угадать.

Я думаю, что проблема заключается в том, что вы выбираете атрибут состояния из списка инцидентов вместо одного.Попробуйте с:

/INCIDENTS/INCIDENT[1]/@state
...