2016-07-05 54 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://是否为包含在你的名字空间声明 –