Commits

Ruwan Linton committed 3648d6b Merge

Comments (0)

Files changed (4)

 e.g.
     $ cp mule-config.xml /home/ubuntu/esbs/mule-standalone-3.3.0/apps/default
 
+Edit the conf/log4j.properties file and add the following to turn off logs printed at INFO
+    
+    log4j.logger.org.mule=WARN
+
+Additionally, configure the application's log by copying an appropriate log4j.properties into the application's classes folder
+
+	$ mkdir -p {MULE_HOME}/apps/default/classes/
+	$ cp conf/log4j.properties {MULE_HOME}/apps/default/classes/
+
+e.g.
+	$ mkdir -p /home/ubuntu/esbs/mule-standalone-3.3.0/apps/default/classes/
+	$ cp conf/log4j.properties /home/ubuntu/esbs/mule-standalone-3.3.0/apps/default/classes/
+
 
 Increase the Heap to 2G by editing {MULE_HOME}/conf/wrapper.conf to read as follows:
 
     # Maximum Java Heap Size (in MB)
     wrapper.java.maxmemory=2048
 
-Edit {MULE_HOME}/conf/jetty.xml to increase thread pool sizes to read as follows:
+Edit {MULE_HOME}/conf/jetty.xml to increase thread pool sizes to read as follows. The performance tests do not ramp up the concurrency so thread creation time impacts the results:
 
-    <Set name="minThreads">41</Set>
-    <Set name="maxThreads">300</Set>
-
-Edit the conf/log4j.properties file and add the following to turn off debug logs printed at INFO
-    
-    log4j.logger.org.mule.lifecycle=WARN
-    log4j.logger.org.mule.module.cxf=WARN
+    <Set name="minThreads">100</Set>
+    <Set name="maxThreads">100</Set>
 
 
 Now you are ready to start the Mule ESB server with all the performance scenarios. Start mule with the startup script.

mule/conf/jetty.xml

     <!-- =========================================================== -->
     <Set name="ThreadPool">
       <New class="org.mortbay.thread.QueuedThreadPool">
-        <!-- initial threads set to 10 -->
-        <Set name="minThreads">10</Set>
+        <!-- initial threads set to 100 -->
+        <Set name="minThreads">100</Set>
 
-        <!-- the thread pool will grow only up to 200 -->
+        <!-- the thread pool will grow only up to 100 -->
         <Set name="maxThreads">100</Set>
 
         <!-- indicates that having 20 and below, the pool will be considered low on threads -->

mule/conf/log4j.properties

+# Default log level
+log4j.rootCategory=WARN, console
+
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
+
+################################################
+# You can set custom log levels per-package here
+################################################
+log4j.logger.org.mule.lifecycle=WARN
+log4j.logger.org.mule.module.cxf=WARN
+
+# CXF is used heavily by Mule for web services
+log4j.logger.org.apache.cxf=WARN
+
+# Apache Commons tend to make a lot of noise which can clutter the log.
+log4j.logger.org.apache=WARN
+
+# Reduce startup noise
+log4j.logger.org.springframework.beans.factory=WARN
+
+# Mule classes
+log4j.logger.org.mule=WARN
+
+# Your custom classes
+log4j.logger.com.mycompany=DEBUG
+
+

mule/mule-config.xml

 <?xml version="1.0" encoding="UTF-8"?>
 <mule xmlns="http://www.mulesoft.org/schema/mule/core"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xmlns:http="http://www.mulesoft.org/schema/mule/http"
-      xmlns:jetty="http://www.mulesoft.org/schema/mule/jetty"
-      xmlns:pattern="http://www.mulesoft.org/schema/mule/pattern"
-      xmlns:mxml="http://www.mulesoft.org/schema/mule/xml"
-      xmlns:sxc="http://www.mulesoft.org/schema/mule/sxc"
-      xmlns:spring="http://www.springframework.org/schema/beans"
-      xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf"
-      xmlns:mule-ss="http://www.mulesoft.org/schema/mule/spring-security"
-      xmlns:ss="http://www.springframework.org/schema/security"
-      xsi:schemaLocation="
-       http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.3/mule.xsd
-       http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/3.3/mule-http.xsd
-       http://www.mulesoft.org/schema/mule/jetty http://www.mulesoft.org/schema/mule/jetty/3.3/mule-jetty.xsd
-       http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/3.3/mule-xml.xsd
-       http://www.mulesoft.org/schema/mule/sxc http://www.mulesoft.org/schema/mule/sxc/3.3/mule-sxc.xsd
-       http://www.mulesoft.org/schema/mule/pattern http://www.mulesoft.org/schema/mule/pattern/current/mule-pattern.xsd
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
-       http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/3.3/mule-cxf.xsd
-       http://www.mulesoft.org/schema/mule/spring-security http://www.mulesoft.org/schema/mule/spring-security/3.3/mule-spring-security.xsd
-       http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd">
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:http="http://www.mulesoft.org/schema/mule/http"
+    xmlns:jetty="http://www.mulesoft.org/schema/mule/jetty"
+    xmlns:pattern="http://www.mulesoft.org/schema/mule/pattern"
+    xmlns:mxml="http://www.mulesoft.org/schema/mule/xml"
+    xmlns:sxc="http://www.mulesoft.org/schema/mule/sxc"
+    xmlns:spring="http://www.springframework.org/schema/beans"
+    xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf"
+    xmlns:mule-ss="http://www.mulesoft.org/schema/mule/spring-security"
+    xmlns:ss="http://www.springframework.org/schema/security"
+    xmlns:vm="http://www.mulesoft.org/schema/mule/vm"
+    xsi:schemaLocation="
+    http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.3/mule.xsd
+    http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/3.3/mule-http.xsd
+    http://www.mulesoft.org/schema/mule/jetty http://www.mulesoft.org/schema/mule/jetty/3.3/mule-jetty.xsd
+    http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/3.3/mule-xml.xsd
+    http://www.mulesoft.org/schema/mule/sxc http://www.mulesoft.org/schema/mule/sxc/3.3/mule-sxc.xsd
+    http://www.mulesoft.org/schema/mule/pattern http://www.mulesoft.org/schema/mule/pattern/current/mule-pattern.xsd
+    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+    http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/3.3/mule-cxf.xsd
+    http://www.mulesoft.org/schema/mule/spring-security http://www.mulesoft.org/schema/mule/spring-security/3.3/mule-spring-security.xsd
+    http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd
+    http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/3.3/mule-vm.xsd">
 
-    <configuration>
-        <default-dispatcher-threading-profile
-                maxThreadsActive="300"
-                maxThreadsIdle="100"
-                poolExhaustedAction="WAIT"/>
-    </configuration>
+  <configuration>
+    <default-dispatcher-threading-profile
+        maxThreadsActive="300"
+        maxThreadsIdle="100"
+        poolExhaustedAction="WAIT"/>
+  </configuration>
+  
+  <spring:beans>
+    <spring:bean name="WSProxyService" class="org.mule.module.cxf.WSProxyService">
+      <spring:property name="wsdlFile" value="conf/ProxyWSDL-embedded.wsdl"/>
+    </spring:bean>
 
-    <jetty:connector name="JettyConnector" configFile="file:conf/jetty.xml"/>
-    <http:connector name="HttpConnector" keepAlive="true" sendTcpNoDelay="true"/>
+    <spring:bean name="wss4jInConfiguration" class="org.springframework.beans.factory.config.MapFactoryBean">
+      <spring:property name="sourceMap">
+        <spring:map>
+          <spring:entry key="action" value="Timestamp Encrypt Signature"/>
+          <spring:entry key="signaturePropFile" value="wssecurity.properties"/>
+          <spring:entry key="decryptionPropFile" value="wssecurity.properties"/>
+          <spring:entry key="passwordCallbackClass" value="org.mule.module.cxf.wssec.ServerPasswordCallback"/>
+          <spring:entry key="timeToLive" value="2147483"/>
+        </spring:map>
+      </spring:property>
+    </spring:bean>
 
-    <mxml:xslt-transformer name="Xsltin" xsl-file="conf/transform_env_reverse.xslt" returnClass="org.mule.module.xml.transformer.DelayedResult"/>
-    <mxml:xslt-transformer name="Xsltout" xsl-file="conf/transform_env.xslt" returnClass="org.mule.module.xml.transformer.DelayedResult"/>
+    <spring:bean name="wss4jOutConfiguration" class="org.springframework.beans.factory.config.MapFactoryBean">
+      <spring:property name="sourceMap">
+        <spring:map>
+          <spring:entry key="action" value="Timestamp Signature Encrypt"/>
+          <spring:entry key="user" value="bob"/>
+          <spring:entry key="signaturePropFile" value="wssecurity.properties"/>
+          <spring:entry key="encryptionPropFile" value="wssecurity.properties"/>
+          <spring:entry key="encryptionUser" value="Alice"/>
+          <spring:entry key="signatureKeyIdentifier" value="DirectReference"/>
+          <spring:entry key="passwordCallbackClass" value="org.mule.module.cxf.wssec.ServerPasswordCallback"/>
+          <spring:entry key="signatureParts"
+              value="{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp;{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body"/>
+          <spring:entry key="encryptionParts"
+              value="{Element}{http://www.w3.org/2000/09/xmldsig#}Signature;{Content}{http://schemas.xmlsoap.org/soap/envelope/}Body"/>
+              <!--<entry key="encryptionKeyTransportAlgorithm" value="rsa-1_5"/>-->
+          <spring:entry key="encryptionSymAlgorithm" value="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
+        </spring:map>
+      </spring:property>
+    </spring:bean>
 
-    <custom-transformer name="XmlToOutputHandler" class="org.mule.module.xml.transformer.XmlToOutputHandler"/>
+    <mule-ss:security-manager>
+      <mule-ss:delegate-security-provider name="memory-dao" delegate-ref="authenticationManager"/>
+    </mule-ss:security-manager>
 
-    <spring:beans>
-        <spring:bean name="WSProxyService" class="org.mule.module.cxf.WSProxyService">
-            <spring:property name="wsdlFile" value="conf/ProxyWSDL-embedded.wsdl"/>
-        </spring:bean>
+    <ss:authentication-manager alias="authenticationManager"/>
 
-        <spring:bean name="wss4jInConfiguration" class="org.springframework.beans.factory.config.MapFactoryBean">
-            <spring:property name="sourceMap">
-                <spring:map>
-                    <spring:entry key="action" value="Timestamp Encrypt Signature"/>
-                    <spring:entry key="signaturePropFile" value="wssecurity.properties"/>
-                    <spring:entry key="decryptionPropFile" value="wssecurity.properties"/>
-                    <spring:entry key="passwordCallbackClass" value="org.mule.module.cxf.wssec.ServerPasswordCallback"/>
-                    <spring:entry key="timeToLive" value="2147483"/>
-                </spring:map>
-            </spring:property>
-        </spring:bean>
+    <ss:authentication-provider>
+      <ss:user-service id="userService">
+        <ss:user name="alice" password="password" authorities="ROLE_ADMIN"/>
+        <ss:user name="bob" password="password" authorities="ROLE_ANON"/>
+      </ss:user-service>
+    </ss:authentication-provider>
+  </spring:beans>
 
-        <spring:bean name="wss4jOutConfiguration" class="org.springframework.beans.factory.config.MapFactoryBean">
-            <spring:property name="sourceMap">
-                <spring:map>
-                    <spring:entry key="action" value="Timestamp Signature Encrypt"/>
-                    <spring:entry key="user" value="bob"/>
-                    <spring:entry key="signaturePropFile" value="wssecurity.properties"/>
-                    <spring:entry key="encryptionPropFile" value="wssecurity.properties"/>
-                    <spring:entry key="encryptionUser" value="Alice"/>
-                    <spring:entry key="signatureKeyIdentifier" value="DirectReference"/>
-                    <spring:entry key="passwordCallbackClass" value="org.mule.module.cxf.wssec.ServerPasswordCallback"/>
-                    <spring:entry key="signatureParts"
-                                  value="{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp;{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body"/>
-                    <spring:entry key="encryptionParts"
-                                  value="{Element}{http://www.w3.org/2000/09/xmldsig#}Signature;{Content}{http://schemas.xmlsoap.org/soap/envelope/}Body"/>
-                    <!--<entry key="encryptionKeyTransportAlgorithm" value="rsa-1_5"/>-->
-                    <spring:entry key="encryptionSymAlgorithm" value="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
-                </spring:map>
-            </spring:property>
-        </spring:bean>
+  <jetty:connector name="JettyConnector" configFile="file:conf/jetty.xml"/>
+  <http:connector name="HttpConnector" keepAlive="true" sendTcpNoDelay="true"/>
 
-        <mule-ss:security-manager>
-            <mule-ss:delegate-security-provider name="memory-dao" delegate-ref="authenticationManager"/>
-        </mule-ss:security-manager>
+  <mxml:xslt-transformer name="Xsltin" xsl-file="conf/transform_env_reverse.xslt" returnClass="org.mule.module.xml.transformer.DelayedResult"/>
+  <mxml:xslt-transformer name="Xsltout" xsl-file="conf/transform_env.xslt" returnClass="org.mule.module.xml.transformer.DelayedResult"/>
+  <custom-transformer name="XmlToOutputHandler" class="org.mule.module.xml.transformer.XmlToOutputHandler"/>
 
-        <ss:authentication-manager alias="authenticationManager"/>
+  <endpoint name="RemoteEndpoint"
+      connector-ref="HttpConnector"
+      address="http://localhost:9000/service/EchoService"
+      exchange-pattern="request-response">
+  </endpoint>
 
-        <ss:authentication-provider>
-            <ss:user-service id="userService">
-                <ss:user name="alice" password="password" authorities="ROLE_ADMIN"/>
-                <ss:user name="bob" password="password" authorities="ROLE_ANON"/>
-            </ss:user-service>
-        </ss:authentication-provider>
-    </spring:beans>
+  <vm:connector name="vm"/>
+  <vm:endpoint name="ErrorEndpoint" 
+      path="error" 
+      connector-ref="vm" 
+      exchange-pattern="request-response">
+    <response>
+      <message-properties-transformer name="ErrorStatus">
+        <add-message-property key="http.status" value="500"/>
+      </message-properties-transformer>
+      <set-payload value="&lt;soap:Envelope xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
+            &lt;soap:Body&gt;
+              &lt;soap:Fault&gt;
+                &lt;faultcode&gt;soap:Client&lt;/faultcode&gt;
+                &lt;faultstring&gt;Custom error when no route is specified.&lt;/faultstring&gt;
+              &lt;/soap:Fault&gt;
+            &lt;/soap:Body&gt;
+          &lt;/soap:Envelope&gt;"/>
+    </response>
+  </vm:endpoint>
 
-    <endpoint name="RemoteEndpoint"
-        connector-ref="HttpConnector"
-        address="http://localhost:9000/service/EchoService"
-        exchange-pattern="request-response">
-        <!--message-properties-transformer scope="outbound">
+<!-- DIRECT PROXY -->
+  <pattern:web-service-proxy name="DirectProxy"
+      inboundAddress="jetty:http://0.0.0.0:8090/service/DirectProxy"
+      outboundEndpoint-ref="RemoteEndpoint" 
+      wsdlFile="conf/ProxyWSDL-embedded.wsdl" />
+
+  <model>
+    <!-- CBR PROXY -->
+    <service name="CBRProxyService">
+      <inbound>
+        <jetty:inbound-endpoint
+            name="InboundCbr" 
+            address="http://0.0.0.0:8090/service/CBRProxy"
+            connector-ref="JettyConnector"
+            exchange-pattern="request-response"/>
+      </inbound>
+
+      <component>
+        <spring-object bean="WSProxyService" />
+      </component>
+
+      <outbound>
+        <sxc:filtering-router>
+          <outbound-endpoint ref="RemoteEndpoint" transformer-refs="XmlToOutputHandler">
+            <message-properties-transformer scope="outbound">
+              <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
+              <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
+            </message-properties-transformer>                 
+          </outbound-endpoint>
+          <sxc:filter pattern="//order[1]/symbol[text()='IBM']"/>
+        </sxc:filtering-router>
+
+        <pass-through-router>
+          <outbound-endpoint ref="ErrorEndpoint"></outbound-endpoint>
+        </pass-through-router>
+      </outbound>
+    </service>
+
+    <!-- CBR SOAP HEADER PROXY --> 
+    <service name="CBRSOAPHeaderProxy">
+      <inbound>
+        <jetty:inbound-endpoint 
+          name="InboundCbrSoapHeader" 
+          connector-ref="JettyConnector"
+          address="http://0.0.0.0:8090/service/CBRSOAPHeaderProxy"
+          exchange-pattern="request-response"/>
+      </inbound>
+      <component>
+        <spring-object bean="WSProxyService" />
+      </component>
+      <outbound>
+        <sxc:filtering-router>
+          <outbound-endpoint ref="RemoteEndpoint" transformer-refs="XmlToOutputHandler">
+            <message-properties-transformer scope="outbound">
+              <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
+              <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
+            </message-properties-transformer>                 
+          </outbound-endpoint>
+          <sxc:filter pattern="//ns1:routing='xadmin;server1;community#1.0##'"/>
+          <sxc:namespace prefix="ns1" uri="http://someuri"/>
+        </sxc:filtering-router>
+
+        <pass-through-router>
+          <outbound-endpoint ref="ErrorEndpoint"></outbound-endpoint>
+        </pass-through-router>
+      </outbound>
+    </service>
+
+    <service name="SecureProxy">
+      <inbound>
+        <jetty:inbound-endpoint address="http://0.0.0.0:8090/service/SecureProxy"
+            exchange-pattern="request-response">
+          <cxf:proxy-service payload="body" service="SecureProxy"
+              wsdlLocation="conf/ProxyWSDL-embedded-secure.wsdl"
+              namespace="http://services.samples/xsd">
+            <cxf:inInterceptors>
+              <spring:bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
+                <spring:property name="properties" ref="wss4jInConfiguration"/>
+              </spring:bean>
+            </cxf:inInterceptors>
+            <cxf:outInterceptors>
+              <spring:bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
+                <spring:property name="properties" ref="wss4jOutConfiguration"/>
+              </spring:bean>
+            </cxf:outInterceptors>
+          </cxf:proxy-service>
+        </jetty:inbound-endpoint>
+      </inbound>
+      <outbound>
+        <pass-through-router>
+          <outbound-endpoint ref="RemoteEndpoint" exchange-pattern="request-response"
+              transformer-refs="XmlToOutputHandler">
+            <cxf:proxy-client payload="body"/>
+            <message-properties-transformer scope="outbound">
+              <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
+              <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
+            </message-properties-transformer>                  
+          </outbound-endpoint>
+        </pass-through-router>
+      </outbound>
+    </service>
+
+    <service name="ErrorService">
+      <inbound>
+        <vm:inbound-endpoint path="error" connector-ref="vm" exchange-pattern="request-response"/>
+      </inbound>
+    </service>
+  </model>
+
+  <!-- CBR Transport Header Proxy -->
+  <flow name="CBRTransportHeaderProxy">
+    <jetty:inbound-endpoint 
+        name="InboundCbrTransportHeader"
+        connector-ref="JettyConnector"
+        address="http://0.0.0.0:8090/service/CBRTransportHeaderProxy"
+        exchange-pattern="request-response"/>
+    <cxf:proxy-service payload="body" wsdlLocation="conf/ProxyWSDL-embedded.wsdl" service="EchoService"
+        namespace="http://services.samples/xsd"/>
+    <choice>
+      <when evaluator="header" expression="INBOUND:routing=xadmin;server1;community#1.0##">
+        <message-properties-transformer scope="outbound">
+          <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
+          <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
+        </message-properties-transformer>
+        <transformer ref="XmlToOutputHandler"/>
+        <outbound-endpoint ref="RemoteEndpoint"/>
+      </when>
+      <otherwise>
+        <outbound-endpoint ref="ErrorEndpoint"/>
+      </otherwise>
+    </choice>
+  </flow>
+
+  <!-- XSLT Proxy -->
+  <flow name="XSLTProxy">
+    <jetty:inbound-endpoint
+        name="InboundXslt"
+        connector-ref="JettyConnector"
+        address="http://0.0.0.0:8090/service/XSLTProxy"
+        exchange-pattern="request-response"/>
+    <choice>
+      <when evaluator="header" expression="INBOUND:http.request=/service/XSLTProxy?wsdl">
+        <component>
+          <spring-object bean="WSProxyService" />
+        </component>
+      </when>
+      <otherwise>
+        <outbound-endpoint 
+            ref="RemoteEndpoint"
+            transformer-refs="Xsltin XmlToOutputHandler"
+            responseTransformer-refs="Xsltout XmlToOutputHandler">
+          <message-properties-transformer scope="outbound">
             <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
             <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
-        </message-properties-transformer-->
-    </endpoint>
-
-    <pattern:web-service-proxy name="DirectProxy"
-        inboundAddress="jetty:http://0.0.0.0:8090/service/DirectProxy"
-        outboundEndpoint-ref="RemoteEndpoint" 
-        wsdlFile="conf/ProxyWSDL-embedded.wsdl" />
-
-    <flow name="XSLTProxy">
-        <inbound-endpoint
-                connector-ref="JettyConnector" 
-                address="jetty:http://0.0.0.0:8090/service/XSLTProxy"
-                transformer-refs="Xsltin XmlToOutputHandler" 
-                responseTransformer-refs="Xsltout XmlToOutputHandler" 
-                exchange-pattern="request-response"/>
-        <outbound-endpoint connector-ref="HttpConnector"
-                                   address="http://localhost:9000/service/EchoService"
-                                   exchange-pattern="request-response">
-            <message-properties-transformer scope="outbound">
-                <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
-                <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
-            </message-properties-transformer>
+          </message-properties-transformer>
         </outbound-endpoint>
-    </flow>   
-
-    <model name="PerfModel">
-
-        <service name="CBRProxy">
-            <inbound>
-                <inbound-endpoint connector-ref="JettyConnector" 
-                    address="jetty:http://0.0.0.0:8090/service/CBRProxy"
-                    exchange-pattern="request-response"/>
-            </inbound>
-            <outbound>
-                <!--
-                <custom-forwarding-catch-all-strategy class="org.mule.routing.ForwardingCatchAllStrategy">
-                    <outbound-endpoint ref="ErrorEndpoint"/>
-                </custom-forwarding-catch-all-strategy>
-                -->
-                <sxc:filtering-router>
-                    <outbound-endpoint ref="RemoteEndpoint" transformer-refs="XmlToOutputHandler">
-                        <message-properties-transformer scope="outbound">
-                            <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
-                            <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
-                        </message-properties-transformer>                  
-                    </outbound-endpoint>
-                    <sxc:filter pattern="//order[1]/symbol[text()='IBM']"/>
-                </sxc:filtering-router>
-            </outbound>
-        </service>
-
-        <service name="CBRSOAPHeaderProxy">
-            <inbound>
-                <jetty:inbound-endpoint address="http://0.0.0.0:8090/service/CBRSOAPHeaderProxy"
-                                        exchange-pattern="request-response"/>
-            </inbound>
-            <component>
-                <spring-object bean="WSProxyService"/>
-            </component>
-            <outbound>
-                <filtering-router>
-                    <outbound-endpoint ref="RemoteEndpoint" transformer-refs="XmlToOutputHandler">
-                    <message-properties-transformer scope="outbound">
-                            <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
-                            <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
-                        </message-properties-transformer>                  
-                    </outbound-endpoint>
-                    <mxml:xpath-filter pattern="//ns1:routing" expectedValue="xadmin;server1;community#1.0##">
-                        <mxml:namespace prefix="ns1" uri="http://someuri"/>
-                    </mxml:xpath-filter>
-                </filtering-router>
-            </outbound>
-        </service>
-
-        <service name="CBRTransportHeaderProxy">
-            <inbound>
-                <jetty:inbound-endpoint address="http://0.0.0.0:8090/service/CBRTransportHeaderProxy"
-                                        exchange-pattern="request-response"/>
-            </inbound>
-            <component>
-                <spring-object bean="WSProxyService"/>
-            </component>
-            <outbound>
-                <filtering-router>
-                    <outbound-endpoint ref="RemoteEndpoint" transformer-refs="XmlToOutputHandler">
-                    <message-properties-transformer scope="outbound">
-                            <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
-                            <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
-                        </message-properties-transformer>                  
-                    </outbound-endpoint>
-                    <expression-filter evaluator="header" expression="inbound:routing=xadmin;server1;community#1.0##"/>
-                </filtering-router>
-            </outbound>
-        </service>
-
-        <service name="SecureProxy">
-            <inbound>
-                <jetty:inbound-endpoint address="http://0.0.0.0:8090/service/SecureProxy"
-                                        exchange-pattern="request-response">
-                    <cxf:proxy-service payload="body" service="SecureProxy"
-                                       wsdlLocation="conf/ProxyWSDL-embedded-secure.wsdl"
-                                       namespace="http://services.samples/xsd">
-                        <cxf:inInterceptors>
-                            <spring:bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
-                                <spring:property name="properties" ref="wss4jInConfiguration"/>
-                            </spring:bean>
-                        </cxf:inInterceptors>
-                        <cxf:outInterceptors>
-                            <spring:bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
-                                <spring:property name="properties" ref="wss4jOutConfiguration"/>
-                            </spring:bean>
-                        </cxf:outInterceptors>
-                    </cxf:proxy-service>
-                </jetty:inbound-endpoint>
-            </inbound>
-            <outbound>
-                <pass-through-router>
-                    <outbound-endpoint ref="RemoteEndpoint" exchange-pattern="request-response"
-                                       transformer-refs="XmlToOutputHandler">
-                        <cxf:proxy-client payload="body"/>
-                        <message-properties-transformer scope="outbound">
-                            <add-message-property key="SOAPAction" value="#[header:INBOUND:SOAPAction]"/>
-                            <add-message-property key="Content-Type" value="#[header:INBOUND:Content-Type]"/>
-                        </message-properties-transformer>                  
-                    </outbound-endpoint>
-                </pass-through-router>
-            </outbound>
-        </service>
-
-    </model>
+      </otherwise>
+    </choice>
+  </flow>
 
 </mule>
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.