2016-11-28 3 views
1

Ich habe einen Endpunkt, der Soap-Anfragen akzeptiert, nach diesem Endpunkt geht er zu einer Transform-Nachricht, die die entsprechende Anfrage an einen externen Web-Service generiert. Was ich tun möchte, ist die Choice Pattern zu entscheiden, welche externen Web-Service muss ich umleiten.Wie man Choice Pattern über Soap Request in Mule ESB verwendet?

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/> 
<cxf:configuration name="CXF_Configuration" enableMuleSoapHeaders="true" initializeStaticBusInstance="true" doc:name="CXF Configuration"/> 
<ws:consumer-config name="Web_Service_Consumer" service="KarmaService" port="KarmaPort" serviceAddress="http://localhost:8080/TestingWS/Karma" wsdlLocation="http://localhost:8080/TestingWS/Karma?wsdl" doc:name="Web Service Consumer"/> 
<flow name="testingChoice"> 
    <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/> 
    <cxf:proxy-service configuration-ref="CXF_Configuration" payload="body" doc:name="CXF"/> 
    <dw:transform-message doc:name="Transform Message"> 
     <dw:set-payload><![CDATA[%dw 1.0 
    %output application/xml 
    %namespace ns0 http://karmapackage/ 
    --- 
    { 
     ns0#sayHello: { 
     arg0: payload.invoke.arg0 
    } 
    }]]></dw:set-payload> 
    </dw:transform-message> 
    <choice doc:name="Choice"> 
     <when expression="#[payload]"> 
      <logger message="Info1" level="INFO" doc:name="Logger"/> 
     </when> 
     <otherwise> 
      <logger message="Default" level="INFO" doc:name="Logger"/> 
     </otherwise> 
    </choice> 
    <ws:consumer config-ref="Web_Service_Consumer" operation="sayHello" doc:name="Web Service Consumer"/> 
    <logger message="Andando" level="INFO" doc:name="Logger"/> 
</flow> 

Gerade jetzt, Wahl wird Umleiten Info Logger, nur um zu wissen, was es tut. Ich weiß nicht, wie man die Ausdruck auf die Wenn-Bedingung, um zu überprüfen, ob arg0 hat den Wert choosePath1 zum Beispiel.

würde ich jede Hilfe dankbar, Vielen Dank im Voraus

Antwort