2017-03-27 6 views
0

다음은 내가 정의한 out 시퀀스입니다. 다음은 WSO2 ESB 4.9 - SOAP 응답에서 값 추출

<?xml version="1.0" encoding="UTF-8"?> 
<outSequence xmlns="http://ws.apache.org/ns/synapse"> 
    <log category="DEBUG" level="full"/> 
    <payloadFactory media-type="json"> 
     <format>{ "chassisNo": "$1"}</format> 
     <args> 
      <arg evaluator="xml" 
       expression="//ns:getVehicleRegInfoResponse/ns:return/ns:chassisNo" xmlns:ns="http://schemas.abc.com/xsd/erl/dmt/v1"/> 
     </args> 
    </payloadFactory> 
    <property name="messageType" scope="axis2" type="STRING" value="application/json"/> 
    <send/> 
</outSequence> 

는 SOAP XML 응답

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <getVehicleRegInfoResponse xmlns="http://schemas.abc.com/xsd/erl/dmt/v1"> 
     <return> 
      <chassisNo>MD2A17CZ6EWH43266</chassisNo> 
      <engineNo>JEZWEH57019</engineNo> 
      <firstRegDate>2015-01-16T00:00:00</firstRegDate> 
     </return> 
     </getVehicleRegInfoResponse> 
    </soap:Body> 
</soap:Envelope> 

왜 작동하지 않습니다입니까?

임 XPATH가 정확한지 궁금한가요?

//ns:getVehicleRegInfoResponse/ns:return/ns:chassisNo 

답변

1

이렇게하면 chassisNo 요소가 반환됩니다.

//ns:getVehicleRegInfoResponse/ns:return/ns:chassisNo/text()을 시도해보십시오.