You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2013/01/05 16:37:32 UTC

svn commit: r1429320 [1/2] - in /camel/trunk/tests/camel-performance: ./ src/test/java/org/apache/camel/test/perf/esb/ src/test/resources/ src/test/resources/OSGI-INF/ src/test/resources/OSGI-INF/blueprint/ src/test/resources/wsdl/ src/test/resources/x...

Author: cmueller
Date: Sat Jan  5 15:37:31 2013
New Revision: 1429320

URL: http://svn.apache.org/viewvc?rev=1429320&view=rev
Log:
CAMEL-5918: Add performance tests - work in progress

Added:
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/AbstractBaseEsbPerformanceIntegrationTest.java
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/CbrEsbPerformanceIntegrationTest.java
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/EchoService.java
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/HttpHbrEsbPerformanceIntegrationTest.java
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/ProxyEsbPerformanceIntegrationTest.java
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SecureProxyEsbPerformanceIntegrationTest.java
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SoapHbrEsbPerformanceIntegrationTest.java
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/WSSecurityPasswordCallback.java
    camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/XsltEsbPerformanceIntegrationTest.java
    camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks.xml
    camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks_secure.xml
    camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/
    camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/
    camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/cbr-bundle-context.xml
    camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/http-hbr-bundle-context.xml
    camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/proxy-bundle-context.xml
    camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/secure-proxy-bundle-context.xml
    camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/soap-hbr-bundle-context.xml
    camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/xslt-bundle-context.xml
    camel/trunk/tests/camel-performance/src/test/resources/store.jks
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-consumer-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-provider-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/HBRSoapWSDL-consumer-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/HBRSoapWSDL-provider-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/HBRTransportWSDL-consumer-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/HBRTransportWSDL-provider-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/ProxyWSDL-consumer-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/ProxyWSDL-provider-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/SecureProxyWSDL-consumer-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/SecureProxyWSDL-provider-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/TransformerWSDL-consumer-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wsdl/TransformerWSDL-provider-embedded.wsdl
    camel/trunk/tests/camel-performance/src/test/resources/wssecurity.properties
    camel/trunk/tests/camel-performance/src/test/resources/xslt/
    camel/trunk/tests/camel-performance/src/test/resources/xslt/transform.xslt
    camel/trunk/tests/camel-performance/src/test/resources/xslt/transform_back.xslt
Modified:
    camel/trunk/tests/camel-performance/pom.xml
    camel/trunk/tests/camel-performance/src/test/resources/log4j.properties

Modified: camel/trunk/tests/camel-performance/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/pom.xml?rev=1429320&r1=1429319&r2=1429320&view=diff
==============================================================================
--- camel/trunk/tests/camel-performance/pom.xml (original)
+++ camel/trunk/tests/camel-performance/pom.xml Sat Jan  5 15:37:31 2013
@@ -30,9 +30,26 @@
   <description>Performs cross component performance tests</description>
 
   <dependencies>
+    <!-- assuming camel is pulling aries 1.0.0, pull asm 4.0 first -->
+    <dependency>
+      <groupId>org.ow2.asm</groupId>
+      <artifactId>asm-all</artifactId>
+      <version>4.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test-spring</artifactId>
+      <artifactId>camel-test-blueprint</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -40,7 +57,18 @@
       <artifactId>slf4j-log4j12</artifactId>
       <scope>test</scope>
     </dependency>
-    
+
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.4</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-http</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
       <artifactId>camel-saxon</artifactId>
@@ -51,5 +79,51 @@
       <artifactId>camel-cxf</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-ws-security</artifactId>
+      <version>2.7.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ws.security</groupId>
+      <artifactId>wss4j</artifactId>
+      <version>1.6.8</version>
+      <scope>test</scope>
+    </dependency>
+  <dependency>
+    <groupId>org.bouncycastle</groupId>
+    <artifactId>bcpg-jdk15on</artifactId>
+    <version>${bouncycastle-version}</version>
+    <scope>test</scope>
+  </dependency>
+  <dependency>
+    <groupId>org.bouncycastle</groupId>
+    <artifactId>bcprov-jdk15on</artifactId>
+    <version>${bouncycastle-version}</version>
+    <scope>test</scope>
+  </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-transports-http</artifactId>
+      <version>${cxf-version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-transports-http-jetty</artifactId>
+      <version>${cxf-version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-server</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-servlet</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>

Added: camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/AbstractBaseEsbPerformanceIntegrationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/AbstractBaseEsbPerformanceIntegrationTest.java?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/AbstractBaseEsbPerformanceIntegrationTest.java (added)
+++ camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/AbstractBaseEsbPerformanceIntegrationTest.java Sat Jan  5 15:37:31 2013
@@ -0,0 +1,88 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.perf.esb;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
+import org.apache.commons.io.IOUtils;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.nio.SelectChannelConnector;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.util.thread.QueuedThreadPool;
+import org.junit.After;
+import org.junit.Before;
+
+public abstract class AbstractBaseEsbPerformanceIntegrationTest extends CamelBlueprintTestSupport {
+
+    protected Server server;
+    protected String payload;
+    protected int count = 10000;
+
+    @Before
+    @Override
+    public void setUp() throws Exception {
+        server = new Server();
+
+        SelectChannelConnector connector0 = new SelectChannelConnector();
+        connector0.setPort(9000);
+        connector0.setThreadPool(new QueuedThreadPool(20));
+        connector0.setMaxIdleTime(30000);
+        connector0.setAcceptors(2);
+        connector0.setStatsOn(false);
+        connector0.setReuseAddress(true);
+        server.setConnectors(new Connector[]{connector0});
+
+        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
+        context.setContextPath("/service");
+        server.setHandler(context);
+        context.addServlet(new ServletHolder(new EchoService()),"/EchoService");
+        server.start();
+
+        payload = readPayload();
+
+        super.setUp();
+    }
+
+    @After
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+        
+        server.stop();
+    }
+
+    protected String readPayload() throws IOException {
+        return IOUtils.toString(getClass().getResourceAsStream("/1K_buyStocks.xml"));
+    }
+
+    protected void send(String endpointUri, int messagesToSend) {
+        template.setDefaultEndpointUri(endpointUri);
+
+        Map<String, Object> headers = new HashMap<String, Object>();
+        headers.put("Content-Type", "text/xml;charset=UTF-8");
+        headers.put("SOAPAction", "urn:buyStocks.2");
+        
+        for (int i = 0; i < messagesToSend; i++) {
+            template.requestBodyAndHeaders(payload, headers);
+        }
+    }
+}

Added: camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/CbrEsbPerformanceIntegrationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/CbrEsbPerformanceIntegrationTest.java?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/CbrEsbPerformanceIntegrationTest.java (added)
+++ camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/CbrEsbPerformanceIntegrationTest.java Sat Jan  5 15:37:31 2013
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.perf.esb;
+
+import org.apache.camel.util.StopWatch;
+import org.junit.Test;
+
+public class CbrEsbPerformanceIntegrationTest extends AbstractBaseEsbPerformanceIntegrationTest {
+
+    @Test
+    public void testCbr() throws Exception {
+        StopWatch watch = new StopWatch();
+        send("http://127.0.0.1:8192/service/CBRProxy", count);
+
+        log.warn("Ran {} tests in {}ms", count, watch.taken());
+    }
+
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "OSGI-INF/blueprint/cbr-bundle-context.xml";
+    }
+}
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/EchoService.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/EchoService.java?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/EchoService.java (added)
+++ camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/EchoService.java Sat Jan  5 15:37:31 2013
@@ -0,0 +1,134 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.perf.esb;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.OutputStream;
+import java.nio.ByteBuffer;
+import java.nio.channels.Channels;
+import java.nio.channels.ReadableByteChannel;
+import java.nio.channels.WritableByteChannel;
+import java.util.ArrayList;
+import java.util.List;
+
+public class EchoService extends HttpServlet {
+
+    public static volatile long delayMillis = 0;
+
+    private static final long serialVersionUID = 1L;
+    private static final int DEFAULT_BUFFER_SIZE = 4;
+
+    public void doPost(HttpServletRequest request, HttpServletResponse response) {
+        ByteBuffer bb;
+        List<ByteBuffer> bbList = null;
+
+        try {
+            int bufKBytes = DEFAULT_BUFFER_SIZE;
+            int delaySecs = 0;
+
+            String soapAction = request.getHeader("SOAPAction");
+            if (soapAction != null) {
+                if (soapAction.startsWith("\"")) {
+                    soapAction = soapAction.replaceAll("\"", "");
+                }
+                int dotPos = soapAction.indexOf(".");
+                int secondDotPos = (dotPos == -1 ? -1 : soapAction.indexOf(".", dotPos+1));
+
+                if (secondDotPos > 0) {
+                    bufKBytes = Integer.parseInt(soapAction.substring(dotPos+1, secondDotPos));
+                    delaySecs = Integer.parseInt(soapAction.substring(secondDotPos+1));
+                } else if (dotPos > 0) {
+                    bufKBytes = Integer.parseInt(soapAction.substring(dotPos+1));
+                }
+            }
+
+            bb = ByteBuffer.allocate(bufKBytes * 1024);
+            ReadableByteChannel rbc = Channels.newChannel(request.getInputStream());
+
+            int len, tot = 0;
+            while ((len = rbc.read(bb)) > 0) {
+                tot += len;
+                if (tot >= bb.capacity()) {
+                    // --- auto expand logic ---
+                    if (bbList == null) {
+                        bbList = new ArrayList<ByteBuffer>();
+                    }
+                    bb.flip();
+                    bbList.add(bb);
+                    bufKBytes = bufKBytes * 2;
+                    bb = ByteBuffer.allocate(bufKBytes * 1024);
+                }
+            }
+            bb.flip();
+
+            // sleep when a "sleep" header exists - but if "port" is also specified, only when it matches
+            String sleep = request.getHeader("sleep");
+            if (sleep != null) {
+                String port = request.getHeader("port");
+                if (port != null) {
+                    if (request.getLocalPort() == Integer.parseInt(port)) {
+                        Long sleepVal = Long.parseLong(sleep);
+                        System.out.println("Echo Service on port : " + port + " sleeping for : " + sleepVal);
+                        Thread.sleep(sleepVal);
+                    }
+                } else {
+                    Long sleepVal = Long.parseLong(sleep);
+                    System.out.println("Echo Service on port : " + request.getLocalPort() + " sleeping for : " + sleepVal);
+                    Thread.sleep(sleepVal);
+                }
+            }
+
+            // --- auto expand logic ---
+            if (bbList != null) {
+                bbList.add(bb);
+            }
+
+            if (delaySecs > 0 && request.getLocalPort() == 9000) { // sleep only when running on port 9000
+                Thread.sleep(delaySecs * 1000);
+            } else if (delayMillis > 0) {
+                Thread.sleep(delayMillis);
+            }
+
+            response.setContentType(request.getContentType());
+            response.setHeader("port", Integer.toString(request.getLocalPort()));
+            //System.out.println("Reply from Echo service on port : " + request.getLocalPort());
+
+            OutputStream out = response.getOutputStream();
+            WritableByteChannel wbc = Channels.newChannel(out);
+
+            if (bbList == null) {
+                do {
+                    len = wbc.write(bb);
+                } while (len > 0);
+
+            } else {
+                // --- auto expand logic ---
+                for (ByteBuffer b : bbList) {
+                    do {
+                        len = wbc.write(b);
+                    } while (len > 0);
+                }
+            }
+            out.close();
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

Added: camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/HttpHbrEsbPerformanceIntegrationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/HttpHbrEsbPerformanceIntegrationTest.java?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/HttpHbrEsbPerformanceIntegrationTest.java (added)
+++ camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/HttpHbrEsbPerformanceIntegrationTest.java Sat Jan  5 15:37:31 2013
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.perf.esb;
+
+import org.apache.camel.util.StopWatch;
+import org.junit.Test;
+
+public class HttpHbrEsbPerformanceIntegrationTest extends AbstractBaseEsbPerformanceIntegrationTest {
+
+    @Test
+    public void testHttpHbr() throws Exception {
+        StopWatch watch = new StopWatch();
+        send("http://127.0.0.1:8192/service/CBRTransportHeaderProxy", count);
+
+        log.warn("Ran {} tests in {}ms", count, watch.taken());
+    }
+
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "OSGI-INF/blueprint/http-hbr-bundle-context.xml";
+    }
+}
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/ProxyEsbPerformanceIntegrationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/ProxyEsbPerformanceIntegrationTest.java?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/ProxyEsbPerformanceIntegrationTest.java (added)
+++ camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/ProxyEsbPerformanceIntegrationTest.java Sat Jan  5 15:37:31 2013
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.perf.esb;
+
+import org.apache.camel.util.StopWatch;
+import org.junit.Test;
+
+public class ProxyEsbPerformanceIntegrationTest extends AbstractBaseEsbPerformanceIntegrationTest {
+
+    @Test
+    public void testProxy() throws Exception {
+        StopWatch watch = new StopWatch();
+        send("http://127.0.0.1:8192/service/DirectProxy", count);
+
+        log.warn("Ran {} tests in {}ms", count, watch.taken());
+    }
+
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "OSGI-INF/blueprint/proxy-bundle-context.xml";
+    }
+}
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SecureProxyEsbPerformanceIntegrationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SecureProxyEsbPerformanceIntegrationTest.java?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SecureProxyEsbPerformanceIntegrationTest.java (added)
+++ camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SecureProxyEsbPerformanceIntegrationTest.java Sat Jan  5 15:37:31 2013
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.perf.esb;
+
+import java.io.IOException;
+
+import org.apache.camel.util.StopWatch;
+import org.apache.commons.io.IOUtils;
+import org.junit.Test;
+
+public class SecureProxyEsbPerformanceIntegrationTest extends AbstractBaseEsbPerformanceIntegrationTest {
+
+    @Test
+    public void testSecureProxy() throws Exception {
+        StopWatch watch = new StopWatch();
+        send("http://127.0.0.1:8192/service/SecureProxy", count);
+
+        log.warn("Ran {} tests in {}ms", count, watch.taken());
+    }
+
+    @Override
+    protected String readPayload() throws IOException {
+        return IOUtils.toString(getClass().getResourceAsStream("/1K_buyStocks_secure.xml"));
+    }
+
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "OSGI-INF/blueprint/secure-proxy-bundle-context.xml";
+    }
+}
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SoapHbrEsbPerformanceIntegrationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SoapHbrEsbPerformanceIntegrationTest.java?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SoapHbrEsbPerformanceIntegrationTest.java (added)
+++ camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/SoapHbrEsbPerformanceIntegrationTest.java Sat Jan  5 15:37:31 2013
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.perf.esb;
+
+import org.apache.camel.util.StopWatch;
+import org.junit.Test;
+
+public class SoapHbrEsbPerformanceIntegrationTest extends AbstractBaseEsbPerformanceIntegrationTest {
+
+    @Test
+    public void testSoapHbr() throws Exception {
+        StopWatch watch = new StopWatch();
+        send("http://127.0.0.1:8192/service/CBRSOAPHeaderProxy", count);
+
+        log.warn("Ran {} tests in {}ms", count, watch.taken());
+    }
+
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "OSGI-INF/blueprint/soap-hbr-bundle-context.xml";
+    }
+}
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/WSSecurityPasswordCallback.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/WSSecurityPasswordCallback.java?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/WSSecurityPasswordCallback.java (added)
+++ camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/WSSecurityPasswordCallback.java Sat Jan  5 15:37:31 2013
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.perf.esb;
+
+import java.io.IOException;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import org.apache.ws.security.WSPasswordCallback;
+
+public class WSSecurityPasswordCallback implements CallbackHandler {
+
+    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+        ((WSPasswordCallback) callbacks[0]).setPassword("password");
+    }
+}
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/XsltEsbPerformanceIntegrationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/XsltEsbPerformanceIntegrationTest.java?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/XsltEsbPerformanceIntegrationTest.java (added)
+++ camel/trunk/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/XsltEsbPerformanceIntegrationTest.java Sat Jan  5 15:37:31 2013
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.perf.esb;
+
+import org.apache.camel.util.StopWatch;
+import org.junit.Test;
+
+public class XsltEsbPerformanceIntegrationTest extends AbstractBaseEsbPerformanceIntegrationTest {
+
+    @Test
+    public void testXSLTProxy() throws Exception {
+        StopWatch watch = new StopWatch();
+        send("http://127.0.0.1:8192/service/XSLTProxy", count);
+
+        log.warn("Ran {} tests in {}ms", count, watch.taken());
+    }
+
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "OSGI-INF/blueprint/xslt-bundle-context.xml";
+    }
+}
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks.xml?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks.xml (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks.xml Sat Jan  5 15:37:31 2013
@@ -0,0 +1,14 @@
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
+<soapenv:Header><routing xmlns="http://someuri">xadmin;server1;community#1.0##</routing></soapenv:Header>
+<soapenv:Body>
+<m:buyStocks xmlns:m="http://services.samples/xsd">
+<order><symbol>IBM</symbol><buyerID>asankha</buyerID><price>140.34</price><volume>2000</volume></order>
+<order><symbol>MSFT</symbol><buyerID>ruwan</buyerID><price>23.56</price><volume>8030</volume></order>
+<order><symbol>SUN</symbol><buyerID>indika</buyerID><price>14.56</price><volume>500</volume></order>
+<order><symbol>GOOG</symbol><buyerID>chathura</buyerID><price>60.24</price><volume>40000</volume></order>
+<order><symbol>IBM</symbol><buyerID>asankha</buyerID><price>140.34</price><volume>2000</volume></order>
+<order><symbol>MSFT</symbol><buyerID>ruwan</buyerID><price>23.56</price><volume>803000</volume></order>
+<order><symbol>SUN</symbol><buyerID>indika</buyerID><price>14.56</price><volume>5000</volume></order>
+</m:buyStocks>
+</soapenv:Body>
+</soapenv:Envelope>

Added: camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks_secure.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks_secure.xml?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks_secure.xml (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/1K_buyStocks_secure.xml Sat Jan  5 15:37:31 2013
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
+<soapenv:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"><xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="id-1357383968943278000-1391997743"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><wsse:SecurityTokenReference><wsse:KeyIdentifier EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier">Xeg55vRyK3ZhAEhEf+YT0z986L0=</wsse:KeyIdentifier></wsse:SecurityTokenReference></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>owAq5w70v6Sy3YNtSwBsCAc5TJXRj16oyi6DPotBP2ftk0dnABSHfRJo7srYE7mIyjbfyZ7usJ4Q
+74Cg9Ot33to1CpQ4wl7SlszeomRx+AL3GA+QuouhO9eDJyAbjYIFy+FcUJ619P1AD1FR8VVdW5P4
+DvOxGfm+htl81tdP2kU=</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference URI="#id-1357383968943430000-1928238693"/></xenc:ReferenceList></xenc:EncryptedKey><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="id-1357383968942887000-228572128">MIIDDDCCAfSgAwIBAgIQM6YEf7FVYx/tZyEXgVComTANBgkqhkiG9w0BAQUFADAwMQ4wDAYDVQQK
+DAVPQVNJUzEeMBwGA1UEAwwVT0FTSVMgSW50ZXJvcCBUZXN0IENBMB4XDTA1MDMxOTAwMDAwMFoX
+DTE4MDMxOTIzNTk1OVowQjEOMAwGA1UECgwFT0FTSVMxIDAeBgNVBAsMF09BU0lTIEludGVyb3Ag
+VGVzdCBDZXJ0MQ4wDAYDVQQDDAVBbGljZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoqi9
+9By1VYo0aHrkKCNT4DkIgPL/SgahbeKdGhrbu3K2XG7arfD9tqIBIKMfrX4Gp90NJa85AV1yiNsE
+yvq+mUnMpNcKnLXLOjkTmMCqDYbbkehJlXPnaWLzve+mW0pJdPxtf3rbD4PS/cBQIvtpjmrDAU8V
+sZKT8DN5Kyz+EZsCAwEAAaOBkzCBkDAJBgNVHRMEAjAAMDMGA1UdHwQsMCowKKImhiRodHRwOi8v
+aW50ZXJvcC5iYnRlc3QubmV0L2NybC9jYS5jcmwwDgYDVR0PAQH/BAQDAgSwMB0GA1UdDgQWBBQK
+4l0TUHZ1QV3V2QtlLNDm+PoxiDAfBgNVHSMEGDAWgBTAnSj8wes1oR3WqqqgHBpNwkkPDzANBgkq
+hkiG9w0BAQUFAAOCAQEABTqpOpvW+6yrLXyUlP2xJbEkohXHI5OWwKWleOb9hlkhWntUalfcFOJA
+gUyH30TTpHldzx1+vK2LPzhoUFKYHE1IyQvokBN2JjFO64BQukCKnZhldLRPxGhfkTdxQgdf5rCK
+/wh3xVsZCNTfuMNmlAM6lOAg8QduDah3WFZpEA0s2nwQaCNQTNMjJC8tav1CBr6+E5FAmwPXP7pJ
+xn9Fw9OXRyqbRA4v2y7YpbGkG2GI9UvOHw6SGvf4FRSthMMO35YbpikGsLix3vAsXWWi4rwfVOYz
+QK0OFPNi9RMCUdSH06m9uLWckiCxjos0FQODZE9l4ATGy9s9hNVwryOJTw==</wsse:BinarySecurityToken><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+<ds:SignedInfo>
+<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
+<ds:Reference URI="#id-1357383968939063000-142227415">
+<ds:Transforms>
+<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+</ds:Transforms>
+<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+<ds:DigestValue>SZkK3D7xaoGDBMudnAhko4svV3Y=</ds:DigestValue>
+</ds:Reference>
+<ds:Reference URI="#id-1357383968938551000-396142871">
+<ds:Transforms>
+<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+</ds:Transforms>
+<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+<ds:DigestValue>HUHU6PCkHctVkkxdOVBTowAcTds=</ds:DigestValue>
+</ds:Reference>
+</ds:SignedInfo>
+<ds:SignatureValue>
+gAc34IGlAuClhIbQ6Vyd8iu8pw0RTw0eyXjNQEUzEzWt6/vdG1Z9clDup13SzyTvaVRkv0fbRzFy
+5joMJ7CLjdMrHJg/FP6TMFUxDlit3QXbAaiB7J/VxMuJuQ05+MjnqCy/I4D8QCt7BhlbPiPozPsk
+bhDz8LOeWQDzXSUJJ1U=
+</ds:SignatureValue>
+<ds:KeyInfo><wsse:SecurityTokenReference><wsse:Reference URI="#id-1357383968942887000-228572128" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature><wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="id-1357383968938551000-396142871"><wsu:Created>2013-01-05T11:06:08.938Z</wsu:Created><wsu:Expires>2013-02-04T11:06:08.938Z</wsu:Expires></wsu:Timestamp></wsse:Security><routing xmlns="http://someuri">xadmin;server1;community#1.0##</routing></soapenv:Header>
+<soapenv:Body wsu:Id="id-1357383968939063000-142227415" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="id-1357383968943430000-1928238693" Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+<wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Reference URI="#id-1357383968943278000-1391997743"/></wsse:SecurityTokenReference>
+</ds:KeyInfo><xenc:CipherData><xenc:CipherValue>OaYLQwfFj0i01Zl7fCp8xclhoBR8/OJvqN6qdPUYcd2hHlYJOtHTnirPXev0xCxM4Y0/LHcFc64n
+afRkz/cT+V4yLW5MSfZfeLFvLIfrz427UblCwQxQlgyiBxP16KkGVdGLws9duaNOPE4efKt7brnV
+AOqvj2olsFLBz2LE7OAH/eDDQh2s19ivjy+OKqTDj11kOXtCb7fS6Egi5erzte9dKvE6rnUXVue3
+C+H5/NRkJXiayMznpJoVUwkmSobwHV7syuli8wF6tExKZVHZzJVJngRjvLsFJBAI9Zbcpu/VzV0U
+NtmO7wbntC/WHnTW1gqzqsyFUVrKuLtT92z8qL2PEIl8lqCYfg2LdZzVPzUNXVLA9c7WSgbeoRty
+euj20EGqLRWrMQx6/fwVoUHTqdBmI17IF0btRELVrBr+HXOOSg+WKZ2kRtQTC9fWjPHhxLaMQCMX
+0ijls8JrHdRRIOUeB3IBM4hWQwA19mXwIR+apCcjaQld0K2SvIQAqSDdwYQleYoT+lYlxTNwqDSF
+RNUPNygkDbGPF0wV4sMMgOj751VSiCSVcBNtbTsdMWxqtmvpr3IQO5HDvdr3jToDWN2a79bWBvkH
+q40bvAOLiQshMgu+wLeTRmg5yv+5TYi6bDaz20aXTSp3nKHJIvnc8386ZrpKYx8RWEvfkXgm5+Bj
+zLesMmGQLiaIcWnCDBOVa6XcGf5rxLi806vic6lqpl/12CseBuyfxN8UqvI4sRlJUbseQtUBKoov
+c+EAPPbQatoBd1xOyy6h9zIkHinCCDGjMIPQ89pVb4vb5lH7VQKgJh96gT8LX1XgHQQKpaF0ab5L
+zOd4d4Qlv+J9ZkvxrmNMYNoueDgqq/r6+Q4Q5d66lfv5jm/4GrrL6CYmC0ZasNnRBrO7B6QZnsp0
+Cjzzbl4rT0fuHGHAKnUVFCRe3puzS+nsumJ8lIMam+OQkCqvli+2wew1JtJjcll49x58hAnwRDgy
+YzukmNt73HJirVdT6Yhe3s3R0kpqRARza1UPsVheL+XQP6hVpS8etabk5cBzGatoYUK6IIDRsz9a
+RZKzN0cUEEJ/KlcsZE1hDz8/</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/cbr-bundle-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/cbr-bundle-context.xml?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/cbr-bundle-context.xml (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/cbr-bundle-context.xml Sat Jan  5 15:37:31 2013
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:camel="http://camel.apache.org/schema/blueprint"
+    xmlns:camel-cxf="http://camel.apache.org/schema/blueprint/cxf"
+    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+    xmlns:s="http://services.samples/xsd"
+    xsi:schemaLocation="
+       http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+       http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
+
+    <camel-cxf:cxfEndpoint id="cbrProxy"
+        address="http://localhost:8192/service/CBRProxy"
+        endpointName="service:CBREchoServicePort"
+        serviceName="service:CBRProxy"
+        wsdlURL="wsdl/CBRWSDL-consumer-embedded.wsdl"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <camel-cxf:cxfEndpoint id="echoService"
+        address="http://localhost:9000/service/EchoService"
+        endpointName="service:CBREchoServicePort"
+        serviceName="service:CBREchoService"
+        wsdlURL="wsdl/CBRWSDL-provider-embedded.wsdl"
+        bindingId="service:EchoServiceSOAP11Binding"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <camel:camelContext>
+        <camel:jmxAgent id="agent" disabled="true"/>
+
+        <camel:route id="cxf-content-proxy" streamCache="true">
+            <camel:from uri="cxf:bean:cbrProxy" />
+            <camel:choice>
+                <camel:when>
+                    <camel:xquery>/soapenv:Envelope/soapenv:Body/s:buyStocks/order[1]/symbol='IBM'</camel:xquery>
+                    <camel:to uri="cxf:bean:echoService" />
+                </camel:when>
+            </camel:choice>
+        </camel:route>
+    </camel:camelContext>
+</blueprint>
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/http-hbr-bundle-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/http-hbr-bundle-context.xml?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/http-hbr-bundle-context.xml (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/http-hbr-bundle-context.xml Sat Jan  5 15:37:31 2013
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:camel="http://camel.apache.org/schema/blueprint"
+    xmlns:camel-cxf="http://camel.apache.org/schema/blueprint/cxf"
+    xsi:schemaLocation="
+       http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+       http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
+
+    <camel-cxf:cxfEndpoint id="httpHbrProxy"
+        address="http://localhost:8192/service/CBRTransportHeaderProxy"
+        endpointName="service:CBRTransportHeaderEchoServicePort"
+        serviceName="service:CBRTransportHeaderProxy"
+        wsdlURL="wsdl/HBRTransportWSDL-consumer-embedded.wsdl"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <camel-cxf:cxfEndpoint id="echoService"
+        address="http://localhost:9000/service/EchoService"
+        endpointName="service:HBRTransportEchoServicePort"
+        serviceName="service:HBRTransportEchoService"
+        wsdlURL="wsdl/HBRTransportWSDL-provider-embedded.wsdl"
+        bindingId="service:EchoServiceSOAP11Binding"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <camel:camelContext>
+        <camel:jmxAgent id="agent" disabled="true"/>
+        
+        <camel:route id="cxf-transport-header-proxy">
+            <camel:from uri="cxf:bean:httpHbrProxy" />
+            <camel:choice>
+                <camel:when>
+                    <camel:simple>${in.header.routing} == 'xadmin;server1;community#1.0##'</camel:simple>
+                    <camel:to uri="cxf:bean:echoService" />
+                </camel:when>
+            </camel:choice>
+        </camel:route>
+    </camel:camelContext>
+</blueprint>
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/proxy-bundle-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/proxy-bundle-context.xml?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/proxy-bundle-context.xml (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/proxy-bundle-context.xml Sat Jan  5 15:37:31 2013
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:camel="http://camel.apache.org/schema/blueprint"
+    xmlns:camel-cxf="http://camel.apache.org/schema/blueprint/cxf"
+    xsi:schemaLocation="
+       http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+       http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
+
+    <camel-cxf:cxfEndpoint id="directProxy"
+        address="http://localhost:8192/service/DirectProxy"
+        endpointName="service:EchoServicePort"
+        serviceName="service:DirectProxy"
+        wsdlURL="wsdl/ProxyWSDL-consumer-embedded.wsdl"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <camel-cxf:cxfEndpoint id="echoService"
+        address="http://localhost:9000/service/EchoService"
+        endpointName="service:EchoServicePort"
+        serviceName="service:ProxyEchoService"
+        wsdlURL="wsdl/ProxyWSDL-provider-embedded.wsdl"
+        bindingId="service:EchoServiceSOAP11Binding"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <camel:camelContext>
+        <camel:jmxAgent id="agent" disabled="true"/>
+        
+        <camel:route id="cxf-direct-proxy">
+            <camel:from uri="cxf:bean:directProxy" />
+            <camel:to uri="cxf:bean:echoService" />
+        </camel:route>
+    </camel:camelContext>
+</blueprint>
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/secure-proxy-bundle-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/secure-proxy-bundle-context.xml?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/secure-proxy-bundle-context.xml (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/secure-proxy-bundle-context.xml Sat Jan  5 15:37:31 2013
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:camel="http://camel.apache.org/schema/blueprint"
+    xmlns:camel-cxf="http://camel.apache.org/schema/blueprint/cxf"
+    xsi:schemaLocation="
+       http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+       http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
+       http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/cxf/camel-cxf-blueprint.xsd">
+
+    <camel-cxf:cxfEndpoint id="secureProxy"
+        address="http://localhost:8192/service/SecureProxy"
+        endpointName="service:EchoServicePort"
+        serviceName="service:SecureProxy"
+        wsdlURL="wsdl/SecureProxyWSDL-consumer-embedded.wsdl"
+        xmlns:service="http://services.samples/xsd">
+
+        <camel-cxf:inInterceptors>
+            <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
+            <ref component-id="TimestampSignEncrypt_Request" />
+        </camel-cxf:inInterceptors>
+        <camel-cxf:outInterceptors>
+            <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
+            <ref component-id="TimestampSignEncrypt_Response" />
+        </camel-cxf:outInterceptors>
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="PAYLOAD" />
+            <entry key="ws-security.enable.nonce.cache" value="false" />
+            <entry key="ws-security.enable.timestamp.cache" value="false" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor" id="TimestampSignEncrypt_Request">
+        <argument>
+            <map>
+                <entry key="action" value="Timestamp Signature Encrypt" />
+                <entry key="signaturePropFile" value="wssecurity.properties" />
+                <entry key="decryptionPropFile" value="wssecurity.properties" />
+                <entry key="passwordCallbackClass" value="org.apache.camel.test.perf.esb.WSSecurityPasswordCallback" />
+                <entry key="timeToLive" value="1147483" />
+                <entry key="futureTimeToLive" value="1147483" />
+                <entry key="timestampStrict" value="false" />
+            </map>
+        </argument>
+    </bean>
+    
+    <bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor" id="TimestampSignEncrypt_Response">
+        <argument>
+            <map>
+                <entry key="action" value="Timestamp Signature Encrypt" />
+                <entry key="user" value="Alice" />
+                <entry key="signaturePropFile" value="wssecurity.properties" />
+                <entry key="encryptionPropFile" value="wssecurity.properties" />
+                <entry key="encryptionUser" value="bob" />
+                <entry key="encryptionKeyIdentifier" value="SKIKeyIdentifier" />
+                <entry key="signatureKeyIdentifier" value="DirectReference" />
+                <entry key="passwordCallbackClass" value="org.apache.camel.test.perf.esb.WSSecurityPasswordCallback" />
+                <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" />
+                <entry key="encryptionParts" value="{Content}{http://schemas.xmlsoap.org/soap/envelope/}Body" />
+                <entry key="encryptionSymAlgorithm" value="http://www.w3.org/2001/04/xmlenc#aes128-cbc" />
+                <entry key="timestampStrict" value="false" />
+                <entry key="isBSPCompliant" value="false" />
+            </map>
+        </argument>
+    </bean>
+
+    <camel-cxf:cxfEndpoint id="echoService"
+        address="http://localhost:9000/service/EchoService"
+        endpointName="service:EchoServicePort"
+        serviceName="service:SecureEchoService"
+        wsdlURL="wsdl/SecureProxyWSDL-provider-embedded.wsdl"
+        bindingId="service:EchoServiceSOAP11Binding"
+        xmlns:service="http://services.samples/xsd">
+
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="PAYLOAD" />
+            <entry key="ws-security.enable.nonce.cache" value="false" />
+            <entry key="ws-security.enable.timestamp.cache" value="false" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <bean id="dropAllMessageHeadersStrategy" class="org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy">
+        <property name="relayHeaders" value="false"/>
+    </bean>
+
+    <camel:camelContext>
+        <camel:jmxAgent id="agent" disabled="true"/>
+
+        <camel:route id="cxf-secure-proxy" streamCache="true">
+            <camel:from uri="cxf:bean:secureProxy" />
+            <camel:to uri="cxf:bean:echoService" />
+        </camel:route>
+    </camel:camelContext>
+</blueprint>
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/soap-hbr-bundle-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/soap-hbr-bundle-context.xml?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/soap-hbr-bundle-context.xml (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/soap-hbr-bundle-context.xml Sat Jan  5 15:37:31 2013
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:camel="http://camel.apache.org/schema/blueprint"
+    xmlns:camel-cxf="http://camel.apache.org/schema/blueprint/cxf"
+    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+    xmlns:r="http://someuri"
+    xsi:schemaLocation="
+       http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+       http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
+       
+    <camel-cxf:cxfEndpoint id="soapHbrProxy"
+        address="http://localhost:8192/service/CBRSOAPHeaderProxy"
+        endpointName="service:CBRSOAPHeaderEchoServicePort"
+        serviceName="service:CBRSOAPHeaderProxy"
+        wsdlURL="wsdl/HBRSoapWSDL-consumer-embedded.wsdl"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <camel-cxf:cxfEndpoint id="echoService"
+        address="http://localhost:9000/service/EchoService"
+        endpointName="service:HBRSoapEchoServicePort"
+        serviceName="service:HBRSoapEchoService"
+        wsdlURL="wsdl/HBRSoapWSDL-provider-embedded.wsdl"
+        bindingId="service:EchoServiceSOAP11Binding"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <camel:camelContext>
+        <camel:jmxAgent id="agent" disabled="true"/>
+
+        <camel:route id="cxf-soap-header-proxy" streamCache="true">
+            <camel:from uri="cxf:bean:soapHbrProxy" />
+            <camel:choice>
+                <camel:when>
+                    <camel:xquery>/soapenv:Envelope/soapenv:Header/r:routing='xadmin;server1;community#1.0##'</camel:xquery>
+                    <camel:to uri="cxf:bean:echoService" />
+                </camel:when>
+            </camel:choice>
+        </camel:route>
+    </camel:camelContext>
+</blueprint>
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/xslt-bundle-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/xslt-bundle-context.xml?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/xslt-bundle-context.xml (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/OSGI-INF/blueprint/xslt-bundle-context.xml Sat Jan  5 15:37:31 2013
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:camel="http://camel.apache.org/schema/blueprint"
+    xmlns:camel-cxf="http://camel.apache.org/schema/blueprint/cxf"
+    xsi:schemaLocation="
+       http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+       http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
+
+    <camel-cxf:cxfEndpoint id="xsltProxy"
+        address="http://localhost:8192/service/XSLTProxy"
+        endpointName="service:EchoServicePort"
+        serviceName="service:XSLTProxy"
+        wsdlURL="wsdl/TransformerWSDL-consumer-embedded.wsdl"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <camel-cxf:cxfEndpoint id="echoService"
+        address="http://localhost:9000/service/EchoService"
+        endpointName="service:EchoServicePort"
+        serviceName="service:XSLTEchoService"
+        wsdlURL="wsdl/TransformerWSDL-provider-embedded.wsdl"
+        bindingId="s:EchoServiceSOAP11Binding"
+        xmlns:service="http://services.samples/xsd">
+        
+        <camel-cxf:properties>
+            <entry key="dataFormat" value="MESSAGE" />
+        </camel-cxf:properties>
+    </camel-cxf:cxfEndpoint>
+
+    <!-- TODO remove me -->
+    <bean id="transformerFactoryImpl" class="net.sf.saxon.TransformerFactoryImpl" />
+
+    <camel:camelContext>
+        <camel:jmxAgent id="agent" disabled="true"/>
+
+        <camel:route id="cxf-xslt-proxy">
+            <camel:from uri="cxf:bean:xsltProxy" />
+            <camel:to uri="xslt:xslt/transform.xslt?transformerFactory=#transformerFactoryImpl" />
+            <camel:to uri="cxf:bean:echoService" />
+            <camel:to uri="xslt:xslt/transform_back.xslt?transformerFactory=#transformerFactoryImpl" />
+        </camel:route>
+    </camel:camelContext>
+</blueprint>
\ No newline at end of file

Modified: camel/trunk/tests/camel-performance/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/log4j.properties?rev=1429320&r1=1429319&r2=1429320&view=diff
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/log4j.properties (original)
+++ camel/trunk/tests/camel-performance/src/test/resources/log4j.properties Sat Jan  5 15:37:31 2013
@@ -23,17 +23,20 @@ log4j.rootLogger=WARN, file, out
 # uncomment the following to enable camel debugging
 #log4j.logger.org.apache.camel=DEBUG
 #log4j.logger.org.apache.camel.test.perf=INFO
+#log4j.logger.org.apache.cxf=DEBUG
+#log4j.logger.org.apache.camel.component.cxf=DEBUG
+#log4j.logger.org.apache.ws=DEBUG
 
 # CONSOLE appender not used by default
 log4j.appender.out=org.apache.log4j.ConsoleAppender
 log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.layout.ConversionPattern=%d %c{1}.%M - %m%n
+log4j.appender.out.layout.ConversionPattern=%d %-5p %c{1}.%M - %m%n
 
 # File appender
 log4j.appender.file=org.apache.log4j.FileAppender
 log4j.appender.file.layout=org.apache.log4j.PatternLayout
 log4j.appender.file.file=target/camel-performance-test.log
 log4j.appender.file.append=true
-log4j.appender.file.layout.ConversionPattern=%d %c{1}.%M - %m%n
+log4j.appender.file.layout.ConversionPattern=%d %-5p %c{1}.%M - %m%n
 
 log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer
\ No newline at end of file

Added: camel/trunk/tests/camel-performance/src/test/resources/store.jks
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/store.jks?rev=1429320&view=auto
==============================================================================
Files camel/trunk/tests/camel-performance/src/test/resources/store.jks (added) and camel/trunk/tests/camel-performance/src/test/resources/store.jks Sat Jan  5 15:37:31 2013 differ

Added: camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-consumer-embedded.wsdl
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-consumer-embedded.wsdl?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-consumer-embedded.wsdl (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-consumer-embedded.wsdl Sat Jan  5 15:37:31 2013
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="EchoWSDL" targetNamespace="http://services.samples/xsd"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://services.samples/xsd" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+    <types>
+	<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+		    targetNamespace="http://services.samples/xsd"
+		    xmlns:tns="http://services.samples/xsd"
+		    elementFormDefault="unqualified">
+	    <xsd:complexType name="BuyStocks">
+		<xsd:sequence>
+		    <xsd:element name="order">
+		        <xsd:complexType>
+		            <xsd:sequence>
+		                <xsd:element name="symbol" type="xsd:string"></xsd:element>
+		                <xsd:element name="buyerID" type="xsd:string"></xsd:element>
+		                <xsd:element name="price" type="xsd:double"></xsd:element>
+		                <xsd:element name="volume" type="xsd:int"></xsd:element>
+		            </xsd:sequence>
+		        </xsd:complexType>
+		    </xsd:element>
+		</xsd:sequence>
+	    </xsd:complexType>
+	    <xsd:element name="buyStocks" type="tns:BuyStocks"></xsd:element>
+	</xsd:schema>
+    </types>
+    <message name="EchoOperationRequest">
+        <part name="parameters" element="tns:buyStocks"/>
+    </message>
+    <message name="EchoOperationResponse">
+        <part name="parameters" element="tns:buyStocks"/>
+    </message>
+    
+    <portType name="buyStocksPortType">
+        <operation name="buyStocksOperation">
+            <input name="message" message="tns:EchoOperationRequest"/>
+            <output name="message" message="tns:EchoOperationResponse"/>
+        </operation>
+        
+        <operation name="buyStocksOperation1K">
+            <input name="message1K" message="tns:EchoOperationRequest"/>
+            <output name="message1K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation5K">
+            <input name="message5K" message="tns:EchoOperationRequest"/>
+            <output name="message5K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation10K">
+            <input name="message10K" message="tns:EchoOperationRequest"/>
+            <output name="message10K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation100K">
+            <input name="message100K" message="tns:EchoOperationRequest"/>
+            <output name="message100K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation500K">
+            <input name="message500K" message="tns:EchoOperationRequest"/>
+            <output name="message500K" message="tns:EchoOperationResponse"/>
+        </operation>        
+    </portType>
+    <binding name="EchoServiceSOAP11Binding" type="tns:buyStocksPortType">
+        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <operation name="buyStocksOperation">
+            <soap:operation soapAction="urn:buyStocks" style="document"/>
+            <input name="message">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message">
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+        
+        <operation name="buyStocksOperation1K">
+            <soap:operation soapAction="urn:buyStocks.2" style="document"/>
+            <input name="message1K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message1K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation5K">
+            <soap:operation soapAction="urn:buyStocks.5" style="document"/>
+            <input name="message5K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message5K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation10K">
+            <soap:operation soapAction="urn:buyStocks.10" style="document"/>
+            <input name="message10K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message10K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation100K">
+            <soap:operation soapAction="urn:buyStocks.100" style="document"/>
+            <input name="message100K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message100K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation500K">
+            <soap:operation soapAction="urn:buyStocks.500" style="document"/>
+            <input name="message500K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message500K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+    </binding>
+    <service name="CBRProxy">
+        <port name="CBREchoServicePort" binding="tns:EchoServiceSOAP11Binding">
+            <soap:address location="http://localhost:8192/service/CBRProxy"/>
+        </port>
+    </service>
+</definitions>
+

Added: camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-provider-embedded.wsdl
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-provider-embedded.wsdl?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-provider-embedded.wsdl (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/wsdl/CBRWSDL-provider-embedded.wsdl Sat Jan  5 15:37:31 2013
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="EchoWSDL" targetNamespace="http://services.samples/xsd"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://services.samples/xsd" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+    <types>
+	<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+		    targetNamespace="http://services.samples/xsd"
+		    xmlns:tns="http://services.samples/xsd"
+		    elementFormDefault="unqualified">
+	    <xsd:complexType name="BuyStocks">
+		<xsd:sequence>
+		    <xsd:element name="order">
+		        <xsd:complexType>
+		            <xsd:sequence>
+		                <xsd:element name="symbol" type="xsd:string"></xsd:element>
+		                <xsd:element name="buyerID" type="xsd:string"></xsd:element>
+		                <xsd:element name="price" type="xsd:double"></xsd:element>
+		                <xsd:element name="volume" type="xsd:int"></xsd:element>
+		            </xsd:sequence>
+		        </xsd:complexType>
+		    </xsd:element>
+		</xsd:sequence>
+	    </xsd:complexType>
+	    <xsd:element name="buyStocks" type="tns:BuyStocks"></xsd:element>
+	</xsd:schema>
+    </types>
+    <message name="EchoOperationRequest">
+        <part name="parameters" element="tns:buyStocks"/>
+    </message>
+    <message name="EchoOperationResponse">
+        <part name="parameters" element="tns:buyStocks"/>
+    </message>
+    
+    <portType name="buyStocksPortType">
+        <operation name="buyStocksOperation">
+            <input name="message" message="tns:EchoOperationRequest"/>
+            <output name="message" message="tns:EchoOperationResponse"/>
+        </operation>
+        
+        <operation name="buyStocksOperation1K">
+            <input name="message1K" message="tns:EchoOperationRequest"/>
+            <output name="message1K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation5K">
+            <input name="message5K" message="tns:EchoOperationRequest"/>
+            <output name="message5K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation10K">
+            <input name="message10K" message="tns:EchoOperationRequest"/>
+            <output name="message10K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation100K">
+            <input name="message100K" message="tns:EchoOperationRequest"/>
+            <output name="message100K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation500K">
+            <input name="message500K" message="tns:EchoOperationRequest"/>
+            <output name="message500K" message="tns:EchoOperationResponse"/>
+        </operation>        
+    </portType>
+    <binding name="EchoServiceSOAP11Binding" type="tns:buyStocksPortType">
+        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <operation name="buyStocksOperation">
+            <soap:operation soapAction="urn:buyStocks" style="document"/>
+            <input name="message">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message">
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+        
+        <operation name="buyStocksOperation1K">
+            <soap:operation soapAction="urn:buyStocks.2" style="document"/>
+            <input name="message1K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message1K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation5K">
+            <soap:operation soapAction="urn:buyStocks.5" style="document"/>
+            <input name="message5K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message5K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation10K">
+            <soap:operation soapAction="urn:buyStocks.10" style="document"/>
+            <input name="message10K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message10K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation100K">
+            <soap:operation soapAction="urn:buyStocks.100" style="document"/>
+            <input name="message100K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message100K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation500K">
+            <soap:operation soapAction="urn:buyStocks.500" style="document"/>
+            <input name="message500K">
+                <soap:body use="literal"/>
+            </input>
+            <output name="message500K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+    </binding>
+    <service name="CBREchoService">
+        <port name="CBREchoServicePort" binding="tns:EchoServiceSOAP11Binding">
+            <soap:address location="http://localhost:9000/service/EchoService"/>
+        </port>
+    </service>
+</definitions>
+

Added: camel/trunk/tests/camel-performance/src/test/resources/wsdl/HBRSoapWSDL-consumer-embedded.wsdl
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-performance/src/test/resources/wsdl/HBRSoapWSDL-consumer-embedded.wsdl?rev=1429320&view=auto
==============================================================================
--- camel/trunk/tests/camel-performance/src/test/resources/wsdl/HBRSoapWSDL-consumer-embedded.wsdl (added)
+++ camel/trunk/tests/camel-performance/src/test/resources/wsdl/HBRSoapWSDL-consumer-embedded.wsdl Sat Jan  5 15:37:31 2013
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="EchoWSDL" targetNamespace="http://services.samples/xsd"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://services.samples/xsd" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+    <types>
+	<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+		    targetNamespace="http://services.samples/xsd"
+		    xmlns:tns="http://services.samples/xsd"
+		    elementFormDefault="unqualified">
+	    <xsd:complexType name="BuyStocks">
+		<xsd:sequence>
+		    <xsd:element name="order">
+		        <xsd:complexType>
+		            <xsd:sequence>
+		                <xsd:element name="symbol" type="xsd:string"></xsd:element>
+		                <xsd:element name="buyerID" type="xsd:string"></xsd:element>
+		                <xsd:element name="price" type="xsd:double"></xsd:element>
+		                <xsd:element name="volume" type="xsd:int"></xsd:element>
+		            </xsd:sequence>
+		        </xsd:complexType>
+		    </xsd:element>
+		</xsd:sequence>
+	    </xsd:complexType>
+	    <xsd:element name="buyStocks" type="tns:BuyStocks"></xsd:element>
+    </xsd:schema>
+        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+                    targetNamespace="http://someuri"
+                    xmlns:tns="http://someuri"
+                    elementFormDefault="unqualified">
+            <xsd:element name="routing" type="xsd:string"></xsd:element>
+        </xsd:schema>
+    </types>
+    <message name="EchoOperationRequest">
+        <part name="request_header" element="some:routing" xmlns:some="http://someuri"/>
+        <part name="parameters" element="tns:buyStocks"/>
+    </message>
+    <message name="EchoOperationResponse">
+        <part name="parameters" element="tns:buyStocks"/>
+    </message>
+    
+    <portType name="buyStocksPortType">
+        <operation name="buyStocksOperation">
+            <input name="message" message="tns:EchoOperationRequest"/>
+            <output name="message" message="tns:EchoOperationResponse"/>
+        </operation>
+        
+        <operation name="buyStocksOperation1K">
+            <input name="message1K" message="tns:EchoOperationRequest"/>
+            <output name="message1K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation5K">
+            <input name="message5K" message="tns:EchoOperationRequest"/>
+            <output name="message5K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation10K">
+            <input name="message10K" message="tns:EchoOperationRequest"/>
+            <output name="message10K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation100K">
+            <input name="message100K" message="tns:EchoOperationRequest"/>
+            <output name="message100K" message="tns:EchoOperationResponse"/>
+        </operation>
+        <operation name="buyStocksOperation500K">
+            <input name="message500K" message="tns:EchoOperationRequest"/>
+            <output name="message500K" message="tns:EchoOperationResponse"/>
+        </operation>        
+    </portType>
+    <binding name="EchoServiceSOAP11Binding" type="tns:buyStocksPortType">
+        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <operation name="buyStocksOperation">
+            <soap:operation soapAction="urn:buyStocks" style="document"/>
+            <input name="message">
+                <soap:header use="literal" message="tns:EchoOperationRequest" part="request_header" required="true"/>
+                <soap:body use="literal" parts="parameters"/>
+            </input>
+            <output name="message">
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+        
+        <operation name="buyStocksOperation1K">
+            <soap:operation soapAction="urn:buyStocks.2" style="document"/>
+            <input name="message1K">
+                <soap:header use="literal" message="tns:EchoOperationRequest" part="request_header" required="true"/>
+                <soap:body use="literal"/>
+            </input>
+            <output name="message1K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation5K">
+            <soap:operation soapAction="urn:buyStocks.5" style="document"/>
+            <input name="message5K">
+                <soap:header use="literal" message="tns:EchoOperationRequest" part="request_header" required="true"/>
+                <soap:body use="literal"/>
+            </input>
+            <output name="message5K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation10K">
+            <soap:operation soapAction="urn:buyStocks.10" style="document"/>
+            <input name="message10K">
+                <soap:header use="literal" message="tns:EchoOperationRequest" part="request_header" required="true"/>
+                <soap:body use="literal"/>
+            </input>
+            <output name="message10K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation100K">
+            <soap:operation soapAction="urn:buyStocks.100" style="document"/>
+            <input name="message100K">
+                <soap:header use="literal" message="tns:EchoOperationRequest" part="request_header" required="true"/>
+                <soap:body use="literal"/>
+            </input>
+            <output name="message100K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+        <operation name="buyStocksOperation500K">
+            <soap:operation soapAction="urn:buyStocks.500" style="document"/>
+            <input name="message500K">
+                <soap:header use="literal" message="tns:EchoOperationRequest" part="request_header" required="true"/>
+                <soap:body use="literal"/>
+            </input>
+            <output name="message500K">
+                <soap:body use="literal"/>
+            </output>
+        </operation> 
+    </binding>
+    <service name="CBRSOAPHeaderProxy">
+        <port name="CBRSOAPHeaderEchoServicePort" binding="tns:EchoServiceSOAP11Binding">
+            <soap:address location="http://localhost:8192/service/CBRSOAPHeaderProxy"/>
+        </port>
+    </service>
+</definitions>
+