2014-03-27 85 views

回答

1

嘗試payload/enrich調解..

+0

這部分自動ESB – Jamsheer

+0

刪除您的突觸結構的模樣?如果配置錯誤,ESB將自動刪除錯誤的配置。 – Ratha

+0

\t \t \t \t \t 名稱 \t \t \t \t \t \t \t \t \t \t \t \t $ 1 \t \t \t \t \t \t \t Jamsheer

1

,你可以在ESB 4.8.1使用payloadfactory調解員,以此XML作爲一個例子。你需要做一些改變,但:-)的it's開始:

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
     name="JsonToXMLProxy" 
     transports="https http local" 
     startOnLoad="true" 
     trace="disable"> 
    <description/> 
    <target> 
     <endpoint> 
     <address uri="http://www.w3schools.com/webservices/tempconvert.asmx" format="soap11"/> 
     </endpoint> 
     <inSequence> 
     <log> 
      <property name="TEMPERATURA_ENTRADA" expression="json-eval($.celsius)"/> 
     </log> 
     <payloadFactory media-type="xml"> 
      <format> 
       <web:CelsiusToFahrenheit xmlns:web="http://www.w3schools.com/webservices/"> 
        <web:Celsius>$1</web:Celsius> 
       </web:CelsiusToFahrenheit> 
      </format> 
      <args> 
       <arg evaluator="json" expression="$.celsius"/> 
      </args> 
     </payloadFactory> 
     <header name="Action" 
       value="http://www.w3schools.com/webservices/CelsiusToFahrenheit"/> 
     </inSequence> 
     <outSequence> 
     <log> 
      <property xmlns:p="http://www.w3schools.com/webservices/" 
         name="TEMPERATURA_SALIDA" 
         expression="//p:CelsiusToFahrenheitResponse/p:CelsiusToFahrenheitResult"/> 
     </log> 
     <payloadFactory media-type="json"> 
      <format> 
          "Temperatura" : { 
           "EnFahrenheit" : $1 
          } 
      </format> 
      <args> 
       <arg xmlns:p="http://www.w3schools.com/webservices/" 
        evaluator="xml" 
        expression="//p:CelsiusToFahrenheitResponse/p:CelsiusToFahrenheitResult"/> 
      </args> 
     </payloadFactory> 
     <property name="messageType" value="application/json" scope="axis2"/> 
     <send/> 
     </outSequence> 
    </target> 
</proxy>