2017-03-27 13 views
0

以下は、私が定義したアウトシーケンスです。以下は 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()を試してみてください。

関連する問題