2016-07-05 3 views
0

Я интегрирую wso2dss 3.5 и wso2esb 4.9. В DSS я создал DataService для получения данных из базы данных. После панели инструментов WSO2 в DSS я использовал конечную точку в своем проекте eclipse (Developer Studio). XML gerated ГСЗ является:Loop 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. Что не так?

ответ

0

//elements/row возвращение XPath ничего, потому что узел «элементы» не принадлежит пространству имен http://ws.wso2.org/dataservice

попробовать с //ds:element/ds:row and определить DS, как xmlns:ds="http://ws.wso2.org/dataservice"

+0

мне нужно поставить Xmlns в Еогеасп тоже, верно? –

+0

Он еще не работает .. Я изменил свой foreach на < log description = "" level = "full" /> и не регистрируется. –

+0

В своем комментарии выше вы забыли «в» в конце «элементов» и убедитесь, что http: // является включено в вашу декларацию пространства имен –