2015-09-30 63 views
0

我有這個輸入:WSO2 - ESB payloadfactory - 讓內部元件

<request> 
    <element1> 
     <field1>Text1</field1 
    </element1> 
    <element2> 
     <field2>Text1</field2> 
    </element2> 
</request> 

什麼,我所做的就是:

<payloadFactory media-type="xml"> 
    <format> 
     <soapenv:Envelope xmlns:req="http://request.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
      <soapenv:Header/> 
      <soapenv:Body> 
       <req:MyRequest> 
        <req:MyElement1>$1</req:MyElement1> 
        <req:MyElement2>$2</req:MyElement2> 
       </rqe:MyRequest> 
      </soapenv:Body> 
     </soapenv:Envelope> 
    </format> 
    <args> 
     <arg evaluator="xml" expression="//req:request/req:element1/req1:field1" 
      xmlns:req="http://request.com/" xmlns:ns="http://org.apache.synapse/xsd"/> 
     <arg evaluator="xml" 
      expression="//req:request/req:element2/req1:field2" 
      xmlns:req="http://request.com/" xmlns:ns="http://org.apache.synapse/xsd"/> 
    </args> 
</payloadFactory> 

我想這對ESB,但我有這個錯誤

系統無法推斷來自/ services/

的運輸信息

我的問題是:我怎麼能把更深的元素「field1」MyElement1?

在此先感謝

BR 克勞迪奧

+1

爲什麼在定義到payloadFactory中的arg元素的xpath表達式中使用名稱空間'req'&'req1',xml輸入中沒有名稱空間?請注意,req1未定義。如果您刪除了您的payloadFactory(並將其替換爲日誌級別=「full」),您是否可以調用您的代理服務? –

+0

正如Jean-Michel所說的,您的xPath無效。你能否粘貼你的完整請求信息 – JavaMastaRSA

+0

是的,你們的權利,我用正確的ns,它的工作原理! – ClaudioM

回答