2016-07-05 98 views
0

我正在整合wso2dss 3.5和wso2esb 4.9。在DSS中,我創建了一個DataService以從數據庫獲取數據。在WSO2 Dashboard之後,我在eclipse項目(Developer Studio)中使用了端點。通過DSS gerated的XML是:將Foreach插入WSO2ESB不起作用

<elements xmlns="http://ws.wso2.org/dataservice"> 
    <row> 
     <name>nome1</name> 
     <address>rua xalala das xalalas</address> 
    </row> 
    <row> 
     <name>nome2</name> 
     <address>ruas rms did sa</address> 
    </row> 
    <row> 
     <name>nome3</name> 
     <address>aldoas daso dasodsa</address> 
    </row> 
</elements> 

所以,在我的ESB項目我有這樣的gerated代碼:

<foreach expression="//elements/row"> 
    <sequence> 
     <payloadFactory media-type="xml"> 
     <format> 
      <p:Insert xmlns:p="http://ws.wso2.org/dataservice"> 
      <xs:nome xmlns:xs="http://ws.wso2.org/dataservice">$1</xs:nome> 
      <xs:endereco xmlns:xs="http://ws.wso2.org/dataservice">$2</xs:endereco> 
      </p:Insert> 
     </format> 
     <args> 
      <arg evaluator="xml" expression="/row/name"/> 
      <arg evaluator="xml" expression="/row/address"/> 
     </args> 
     </payloadFactory> 
     <log> 
     <property name="xalela" value="xalxalxlalxal"/> 
     </log> 
    </sequence> 
    </foreach> 

的問題是,它不是洛成的foreach,換句話說,它沒有訪問內部的foreach調解器。怎麼了?

回答

0

的XPath //elements/row任何回報,因爲節點 「元素」 屬於命名空間http://ws.wso2.org/dataservice

嘗試//ds:element/ds:row and定義DSxmlns:ds="http://ws.wso2.org/dataservice"

+0

我需要把的xmlns成的foreach過,對吧? –

+0

它還沒有工作..我改變了我的foreach到 <日誌描述=「」level =「full」/> 並且它不記錄.. –

+0

在上面的註釋中,您忘記了「元素」末尾的「s」並驗證http://是否爲包含在你的名字空間聲明 –