Не удается получить элемент XML в муле через xpath3

Код для сохранения номера карты в переменной номера карты из запроса.

<set-variable variableName="cardNumber" value="#[xpath3('//@CardNumber', message.payload,'STRING')]" doc:name="Set cardNumber"/>
<logger level="INFO" message=" #[xpath3('//@CardNumber', message.payload, 'STRING')]" />
<logger message="#[flowVars['operationName']] cardNumber is = #[flowVars['cardNumberr']]" level="INFO" category="member" doc:name="Logger"/>

Ниже полезная нагрузка

mlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://ws.loyalty.com/cpm/esb/amrp/2/1/member/types">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:GetMemberProfileRequest>
         <typ:RequestContext Channel="WEB" Source="" Locale="" User="ONLINEUSER"/>
         <typ:CardNumber>80000000021</typ:CardNumber>
      </typ:GetMemberProfileRequest>
   </soapenv:Body>
</soapenv:Envelope>

Номер карты идет пустой строкой в ​​логах

1 ответ

@esha sherry, выражение xpath3 для получения номера карты должно быть

#[xpath3('/soapenv:Envelope/soapenv:Body/typ:GetMemberProfileRequest/typ:CardNumber', message.payload, 'STRING')]
Другие вопросы по тегам