0

我正在集成 wso2dss 3.5 和 wso2esb 4.9。在 DSS 中,我创建了一个 DataService 来从数据库中获取数据。在 WSO2 仪表板进入 DSS 之后,我在我的 eclipse 项目 (Developer Studio) 中使用了端点。DSS生成的xml是:

<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 配置项目中,有这个生成的代码:

<foreach expression="//ds:elements/ds:row" xmlns:ds="http://ws.wso2.org/dataservice">
    <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="/ds:row/name"/>
          <arg evaluator="xml" expression="/ds:row/address"/>
        </args>
      </payloadFactory>
      <log>
        <property expression="/ds:row/name" name="nome"/>
        <property expression="/ds:row/address" name="endereco"/>
      </log>
    </sequence>
  </foreach>

我正在尝试获取每一行的第一个和第二个元素的值(名称和地址)。我怎样才能做到这一点?

4

1 回答 1

0

尝试将 xmlns:ds 添加到 args 标签,如下所示:

<foreach expression="//ds:elements/ds:row" xmlns:ds="http://ws.wso2.org/dataservice">
    <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 xmlns:ds="http://ws.wso2.org/dataservice">>
          <arg evaluator="xml" expression="//ds:name"/>
          <arg evaluator="xml" expression="//ds:address"/>
        </args>
      </payloadFactory>
      <log>
        <property expression="/ds:row/name" name="nome"/>
        <property expression="/ds:row/address" name="endereco"/>
      </log>
    </sequence>
  </foreach>
于 2016-07-05T18:30:22.830 回答