camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jstrac...@apache.org
Subject svn commit: r580963 - in /activemq/camel/trunk: ./ camel-core/src/main/java/org/apache/camel/impl/ components/camel-cxf/ components/camel-cxf/src/main/java/org/apache/camel/component/cxf/ components/camel-cxf/src/main/java/org/apache/camel/component/cx...
Date Mon, 01 Oct 2007 14:06:34 GMT
Author: jstrachan
Date: Mon Oct  1 07:06:30 2007
New Revision: 580963

URL: http://svn.apache.org/viewvc?rev=580963&view=rev
Log:
applying patch for CAMEL-45 from Willem Jiang

Added:
    activemq/camel/trunk/examples/camel-example-cxf/
    activemq/camel/trunk/examples/camel-example-cxf/pom.xml   (with props)
    activemq/camel/trunk/examples/camel-example-cxf/src/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/CamelCxfExample.java   (with props)
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Client.java   (with props)
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/GreeterImpl.java   (with props)
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Server.java   (with props)
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/jms/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/jms/JmsBroker.java   (with props)
    activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/LICENSE.txt   (with props)
    activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/NOTICE.txt   (with props)
    activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/wsdl/
    activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/wsdl/hello_world.wsdl
Modified:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
    activemq/camel/trunk/components/camel-cxf/pom.xml
    activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java
    activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
    activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
    activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
    activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/invoker/CxfClientFactoryBean.java
    activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfEndpointUtils.java
    activemq/camel/trunk/examples/pom.xml
    activemq/camel/trunk/pom.xml

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java Mon Oct  1 07:06:30 2007
@@ -48,6 +48,8 @@
 
     public Endpoint<E> createEndpoint(String uri) throws Exception {
         ObjectHelper.notNull(getCamelContext(), "camelContext");
+        //TODO endcode uri sting to the unsafe URI string
+        
         URI u = new URI(uri);
         String path = u.getSchemeSpecificPart();
 

Modified: activemq/camel/trunk/components/camel-cxf/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/pom.xml?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/pom.xml (original)
+++ activemq/camel/trunk/components/camel-cxf/pom.xml Mon Oct  1 07:06:30 2007
@@ -81,8 +81,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-transports-http-jetty</artifactId>
-      <version>${cxf-version}</version>
-      <scope>test</scope>
+      <version>${cxf-version}</version>      
     </dependency>
     <dependency>
       <groupId>org.apache.cxf</groupId>
@@ -160,8 +159,7 @@
 
     <dependency>
       <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
-      <version>6.1.1</version>
+      <artifactId>jetty</artifactId>      
       <scope>test</scope>
     </dependency>
 
@@ -221,8 +219,7 @@
             <include>**/*Test.*</include>
           </includes>
           <excludes>
-            <!-- TODO re-enable ASAP! -->
-            <exclude>**/CxfEndpointUtilsTest.*</exclude>
+            <!-- TODO re-enable ASAP! -->            
             <exclude>**/transport/*Test.*</exclude>
           </excludes>
         </configuration>

Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java Mon Oct  1 07:06:30 2007
@@ -26,11 +26,13 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.component.cxf.invoker.InvokingContext;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.frontend.MethodDispatcher;
 import org.apache.cxf.helpers.CastUtils;
+import org.apache.cxf.interceptor.Fault;
 import org.apache.cxf.message.Exchange;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageContentsList;
@@ -162,9 +164,15 @@
             e.printStackTrace();
         }
         //System.out.println(cxfExchange.getOut().getBody());
-        //TODO deal with the paraments that contains holders
         //TODO deal with the fault message
-        Object[] result = (Object[])cxfExchange.getOut().getBody();
+        Object[] result;
+        if (cxfExchange.isFailed()) {
+            Exception ex= (Exception)cxfExchange.getFault().getBody();
+            throw new Fault(ex);
+        } else {
+            result = (Object[])cxfExchange.getOut().getBody();
+        }
+        
         return result;
         
     }

Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java Mon Oct  1 07:06:30 2007
@@ -90,4 +90,11 @@
             out.setBody(response);
         }
     }
+    
+    public void storeCxfFault(CxfExchange exchange, Message message) {
+        CxfMessage fault = exchange.getFault();
+        if (fault != null) {
+            fault.setBody(getBody(message));
+        }
+    }
 }

Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java Mon Oct  1 07:06:30 2007
@@ -54,6 +54,12 @@
             ServerFactoryBean svrBean = CxfEndpointUtils.getServerFactoryBean(serviceClass);                           
             svrBean.setAddress(endpoint.getAddress());
             svrBean.setServiceClass(serviceClass);
+            if (endpoint.getServiceName() != null) {
+                svrBean.getServiceFactory().setServiceName(CxfEndpointUtils.getServiceName(endpoint));                
+            }
+            if (endpoint.getPortName() != null) {
+                svrBean.getServiceFactory().setEndpointName(CxfEndpointUtils.getPortName(endpoint));
+            }    
             if (endpoint.getWsdlURL() != null) {                
                 svrBean.setWsdlURL(endpoint.getWsdlURL());
             }
@@ -72,7 +78,7 @@
             } 
             
         } catch (Exception ex) {
-            
+            ex.printStackTrace();
         }
     }
 

Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java Mon Oct  1 07:06:30 2007
@@ -70,7 +70,16 @@
     }
     
     private Client createClientForStreamMessge() throws CamelException {
-        ClientFactoryBean cfb = new CxfClientFactoryBean();
+        CxfClientFactoryBean cfb = new CxfClientFactoryBean();
+        if (null != endpoint.getServiceClass()) {
+            try {
+                Class serviceClass = ClassLoaderUtils.loadClass(endpoint.getServiceClass(), this.getClass());
+                boolean jsr181Enabled = CxfEndpointUtils.hasWebServiceAnnotation(serviceClass);
+                cfb.setJSR181Enabled(jsr181Enabled);
+            } catch (ClassNotFoundException e) {
+                throw new CamelException(e);
+            }
+        }
         return createClientFormClientFactoryBean(cfb);
     }
    
@@ -86,18 +95,18 @@
                 Class serviceClass = ClassLoaderUtils.loadClass(endpoint.getServiceClass(), this.getClass());
                 if (cfb == null) {
                     cfb = CxfEndpointUtils.getClientFactoryBean(serviceClass);
-                }                            
+                } 
                 cfb.setAddress(endpoint.getAddress());
                 if (null != endpoint.getServiceClass()) {            
                     cfb.setServiceClass(ObjectHelper.loadClass(endpoint.getServiceClass()));
                 } 
                 if (null != endpoint.getWsdlURL()) {
                     cfb.setWsdlURL(endpoint.getWsdlURL());
-                }
-            } catch (Exception ex) {
-                // rethrow the exception out
+                }                
+            } catch (ClassNotFoundException e) {
+                throw new CamelException(e);
             }
-        } else { 
+        } else { // we can't see any service class from the endpoint
             if (cfb == null) {
                 cfb = new ClientFactoryBean();
             }    
@@ -105,8 +114,19 @@
                 cfb.setWsdlURL(endpoint.getWsdlURL());
             } else {
                 // throw the exception for insufficiency of the endpoint info
+                throw new CamelException("Insufficiency of the endpoint info");
             }
         }
+        if (endpoint.getServiceName() != null) {
+            cfb.getServiceFactory().setServiceName(CxfEndpointUtils.getServiceName(endpoint));
+        }
+        if (endpoint.getPortName() != null) {
+            cfb.getServiceFactory().setEndpointName(CxfEndpointUtils.getPortName(endpoint));
+           
+        }    
+        if (endpoint.getWsdlURL() != null) {                
+            cfb.setWsdlURL(endpoint.getWsdlURL());
+        }
         cfb.setBus(bus);        
         return cfb.create();
     }
@@ -127,10 +147,15 @@
                 String operation = inMessage.getContent(String.class);
                 Message response = new MessageImpl();            
                 if (operation != null && paraments != null) {                
-                  	// now we just deal with the invoking the paraments
-                  	Object[] result = client.invoke(operation, paraments.toArray());                
-                   	response.setContent(Object[].class, result);
-                    cxfBinding.storeCxfResponse(exchange, response);
+                    // now we just deal with the invoking the paraments
+                    try {
+                        Object[] result = client.invoke(operation, paraments.toArray());                
+                        response.setContent(Object[].class, result);
+                        cxfBinding.storeCxfResponse(exchange, response);
+                    } catch (Exception ex) {
+                        response.setContent(Exception.class, ex);
+                        cxfBinding.storeCxfFault(exchange, response);                        
+                    }
                 }  
             } else {
                 // get the invocation context
@@ -143,7 +168,6 @@
                 //TODO need setup the call context here
                 //TODO need to handle the one way message
                 Object result = cxfClient.dispatch(params, null, ex);
-                System.out.println("the result object is " + result);
                 // need to get the binding object to create the message
                 BindingOperationInfo boi = ex.get(BindingOperationInfo.class);
                 Message response = null;

Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/invoker/CxfClientFactoryBean.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/invoker/CxfClientFactoryBean.java?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/invoker/CxfClientFactoryBean.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/invoker/CxfClientFactoryBean.java Mon Oct  1 07:06:30 2007
@@ -16,22 +16,50 @@
  */
 package org.apache.camel.component.cxf.invoker;
 
+import javax.xml.ws.soap.SOAPBinding;
+
 import org.apache.cxf.BusException;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.endpoint.ClientImpl;
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.endpoint.EndpointException;
 import org.apache.cxf.frontend.ClientFactoryBean;
+import org.apache.cxf.jaxws.binding.soap.JaxWsSoapBindingConfiguration;
+import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
 import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
 import org.apache.cxf.service.factory.ServiceConstructionException;
 
 
 
 public class CxfClientFactoryBean extends ClientFactoryBean {
-    
+    private boolean isJSR181Enabled;
     
     public CxfClientFactoryBean() {
         super();        
+    }
+    
+    public void setJSR181Enabled(boolean enabled) {
+        if (enabled) {
+            setServiceFactory(new JaxWsServiceFactoryBean());            
+        } else {
+            setServiceFactory(new ReflectionServiceFactoryBean());
+        }
+        isJSR181Enabled = enabled;
+    }
+    
+    @Override
+    public void setBindingId(String bind) {
+        super.setBindingId(bind);
+        if (isJSR181Enabled) {
+            if (SOAPBinding.SOAP11HTTP_BINDING.equals(bind)
+                || SOAPBinding.SOAP12HTTP_BINDING.equals(bind)) {
+                setBindingConfig(new JaxWsSoapBindingConfiguration((JaxWsServiceFactoryBean)getServiceFactory()));
+            } else if (SOAPBinding.SOAP11HTTP_MTOM_BINDING.equals(bind)
+                || SOAPBinding.SOAP12HTTP_MTOM_BINDING.equals(bind)) {
+                setBindingConfig(new JaxWsSoapBindingConfiguration((JaxWsServiceFactoryBean)getServiceFactory()));
+                ((JaxWsSoapBindingConfiguration)getBindingConfig()).setMtomEnabled(true);
+            }
+        }    
     }
             
     protected void createClient(Endpoint ep) {

Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfEndpointUtils.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfEndpointUtils.java?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfEndpointUtils.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfEndpointUtils.java Mon Oct  1 07:06:30 2007
@@ -59,7 +59,7 @@
         // not constructed
     }
 
-    public static QName getQName(final String name) {      
+    static QName getQName(final String name) {      
         QName qName = null;
         if (name != null) {
             try {
@@ -71,8 +71,12 @@
         return qName;
     }
     
-    public static String getServiceName(final CxfEndpoint endpoint) {
-        return endpoint.getServiceName();
+    public static QName getPortName(final CxfEndpoint endpoint) {
+        return getQName(endpoint.getPortName());
+    }
+    
+    public static QName getServiceName(final CxfEndpoint endpoint) {
+        return getQName(endpoint.getServiceName());
     }
 
     public static EndpointInfo getEndpointInfo(final Service service, final CxfEndpoint endpoint) {

Added: activemq/camel/trunk/examples/camel-example-cxf/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-cxf/pom.xml?rev=580963&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-cxf/pom.xml (added)
+++ activemq/camel/trunk/examples/camel-example-cxf/pom.xml Mon Oct  1 07:06:30 2007
@@ -0,0 +1,143 @@
+<?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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>examples</artifactId>
+    <version>1.1-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>camel-example-cxf</artifactId>
+  <name>Camel :: Example :: CXF</name>
+  <description>An example which demonstrates the use of the Camel CXF component 
+  </description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-core</artifactId>
+    </dependency>    
+
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-cxf</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-bindings-soap</artifactId>
+      <version>${cxf-version}</version>
+    </dependency>  
+    
+
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-transports-jms</artifactId>
+      <version>${cxf-version}</version>
+    </dependency> 
+
+    <dependency>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>apache-activemq</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-impl</artifactId>
+      <version>2.0.1</version>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.xml</groupId>
+          <artifactId>jsr173</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>javax.jws</groupId>
+          <artifactId>jsr181-api</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>javax.activation</groupId>
+          <artifactId>activation</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>javax.xml</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.0</version>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.xml</groupId>
+          <artifactId>jsr173</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>javax.activation</groupId>
+          <artifactId>activation</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+  </dependencies>
+
+  <build>
+    <plugins>
+
+      <plugin>
+	<groupId>org.apache.cxf</groupId>
+	<artifactId>cxf-codegen-plugin</artifactId>
+	<version>2.0.2-incubator</version>
+	<executions>
+		<execution>
+			<id>generate-sources</id>
+			<phase>generate-sources</phase>
+			<configuration>
+				<sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
+				<wsdlOptions>
+					<wsdlOption>
+						<wsdl>${basedir}/src/main/resources/wsdl/hello_world.wsdl</wsdl>
+					</wsdlOption>
+				</wsdlOptions>
+			</configuration>
+			<goals>
+				<goal>wsdl2java</goal>
+			</goals>
+		</execution>
+	</executions>
+    </plugin>
+
+
+
+      <!-- allows the example to be ran via 'mvn compile exec:java' -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <configuration>
+          <mainClass>org.apache.camel.example.cxf.CamelCxfExample</mainClass>
+          <includePluginDependencies>false</includePluginDependencies>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  
+</project>

Propchange: activemq/camel/trunk/examples/camel-example-cxf/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/CamelCxfExample.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/CamelCxfExample.java?rev=580963&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/CamelCxfExample.java (added)
+++ activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/CamelCxfExample.java Mon Oct  1 07:06:30 2007
@@ -0,0 +1,92 @@
+/**
+ * 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.example.cxf;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelTemplate;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.example.jms.JmsBroker;
+
+import org.apache.camel.impl.DefaultCamelContext;
+
+/**
+ * An example class for demonstrating camel works as Router.
+ * This example shows how camel can route a SOAP over HTTP client's request
+ * to a SOAP over JMS Service. 
+ *
+ */
+public final class CamelCxfExample {
+    private static final String ROUTER_ADDRESS = "http://localhost:9001/SoapContext/SoapPort";
+    private static final String SERVICE_ADDRESS = "http://localhost:9000/SoapContext/SoapPort";
+    private static final String SERVICE_CLASS = "serviceClass=org.apache.hello_world_soap_http.Greeter";
+    private static final String WSDL_LOCATION = "wsdlURL=wsdl/hello_world.wsdl";
+    private static final String SERVICE_NAME = "serviceName=%7bhttp://apache.org/hello_world_soap_http%7dSOAPService";
+    private static final String SOAP_OVER_HTTP_ROUTER = "portName=%7bhttp://apache.org/hello_world_soap_http%7dSoapOverHttpRouter";
+    private static final String SOAP_OVER_JMS = "portName=%7bhttp://apache.org/hello_world_soap_http%7dSoapOverJms";
+        
+    private static String ROUTER_ENDPOINT_URI = "cxf://" + ROUTER_ADDRESS + "?" + SERVICE_CLASS + "&" 
+                                                   + WSDL_LOCATION + "&" + SERVICE_NAME + "&" + SOAP_OVER_HTTP_ROUTER + "&dataFormat=POJO";
+    private static String SERVICE_ENDPOINT_URI = "cxf://" + SERVICE_ADDRESS + "?" + SERVICE_CLASS + "&" 
+                                                   + WSDL_LOCATION + "&" + SERVICE_NAME + "&" + SOAP_OVER_JMS + "&dataFormat=POJO";
+    
+    private CamelCxfExample() {        
+    }
+        
+    public static void main(String args[]) throws Exception {
+        
+        // START SNIPPET: e1
+        CamelContext context = new DefaultCamelContext();
+        // END SNIPPET: e1
+        // set up the jms broker and the CXF SOAP over JMS server
+        // START SNIPPET: e2
+        JmsBroker broker = new JmsBroker();
+        Server server = new Server();
+        try {     
+            broker.start();
+            server.start();
+            // END SNIPPET: e2
+            // Add some configuration by hand ...
+            // START SNIPPET: e3
+            context.addRoutes(new RouteBuilder() {
+                public void configure() {
+                    from(ROUTER_ENDPOINT_URI).to(SERVICE_ENDPOINT_URI);               
+                }
+            });
+            // END SNIPPET: e3
+            // Staring the routing context
+            // Using the CXF Client to kick off the invocations 
+            // START SNIPPET: e4
+            context.start();
+            Client client = new Client(ROUTER_ADDRESS + "?wsdl");
+            // END SNIPPET: e4
+            // Now everything is set up - lets start the context
+             
+            client.invock();
+            Thread.sleep(1000);
+            context.stop();
+        } catch (Exception ex) {
+            ex.printStackTrace();
+        } finally {
+            server.stop();
+            broker.stop();
+            System.exit(0);
+        }
+        
+    }
+}

Propchange: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/CamelCxfExample.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Client.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Client.java?rev=580963&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Client.java (added)
+++ activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Client.java Mon Oct  1 07:06:30 2007
@@ -0,0 +1,95 @@
+/**
+ * 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.example.cxf;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.ProtocolException;
+import org.apache.hello_world_soap_http.Greeter;
+import org.apache.hello_world_soap_http.PingMeFault;
+import org.apache.hello_world_soap_http.SOAPService;
+import org.apache.hello_world_soap_http.types.FaultDetail;
+
+public final class Client {
+
+    private static final QName SERVICE_NAME 
+        = new QName("http://apache.org/hello_world_soap_http", "SOAPService");
+    private String wsdlLocation;
+    private SOAPService soapService;
+           
+    public Client(String wsdl) throws MalformedURLException {
+        URL wsdlURL = null;
+        if (wsdl != null ) {
+            wsdlLocation = wsdl;
+        } 
+        
+        File wsdlFile = new File(wsdlLocation);
+        if (wsdlFile.exists()) {
+            wsdlURL = wsdlFile.toURL();
+        } else {
+            wsdlURL = new URL(wsdlLocation);
+        }
+        soapService = new SOAPService(wsdlURL, SERVICE_NAME);
+    }
+    
+    
+
+    public void invock() throws Exception {
+        
+        System.out.println("Acquiring router port ...");
+        Greeter port = soapService.getSoapOverHttpRouter();
+        String resp; 
+
+        System.out.println("Invoking sayHi...");
+        resp = port.sayHi();
+        System.out.println("Server responded with: " + resp);
+        System.out.println();
+
+        System.out.println("Invoking greetMe...");
+        resp = port.greetMe(System.getProperty("user.name"));
+        System.out.println("Server responded with: " + resp);
+        System.out.println();
+
+        System.out.println("Invoking greetMe with invalid length string, expecting exception...");
+        try {
+            resp = port.greetMe("Invoking greetMe with invalid length string, expecting exception...");
+        } catch (ProtocolException e) {
+            System.out.println("Expected exception has occurred: " + e.getClass().getName());
+        }
+
+        System.out.println();
+
+        System.out.println("Invoking greetMeOneWay...");
+        port.greetMeOneWay(System.getProperty("user.name"));
+        System.out.println("No response from server as method is OneWay");
+        System.out.println();
+
+        try {
+            System.out.println("Invoking pingMe, expecting exception...");
+            port.pingMe("hello");
+        } catch (PingMeFault ex) {
+            System.out.println("Expected exception: PingMeFault has occurred: " + ex.getMessage());
+            FaultDetail detail = ex.getFaultInfo();
+            System.out.println("FaultDetail major:" + detail.getMajor());
+            System.out.println("FaultDetail minor:" + detail.getMinor());            
+        }          
+         
+    }
+
+}

Propchange: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Client.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/GreeterImpl.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/GreeterImpl.java?rev=580963&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/GreeterImpl.java (added)
+++ activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/GreeterImpl.java Mon Oct  1 07:06:30 2007
@@ -0,0 +1,73 @@
+/**
+ * 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.example.cxf;
+
+import java.util.logging.Logger;
+import org.apache.hello_world_soap_http.Greeter;
+import org.apache.hello_world_soap_http.PingMeFault;
+import org.apache.hello_world_soap_http.types.FaultDetail;
+
+@javax.jws.WebService(portName = "SoapOverJms", serviceName = "SOAPService", 
+                      targetNamespace = "http://apache.org/hello_world_soap_http", 
+                      endpointInterface = "org.apache.hello_world_soap_http.Greeter",
+                      wsdlLocation = "wsdl/hello_world.wsdl")
+                  
+public class GreeterImpl implements Greeter {
+
+    private static final Logger LOG = 
+        Logger.getLogger(GreeterImpl.class.getPackage().getName());
+    
+    /* (non-Javadoc)
+     * @see org.apache.hello_world_soap_http.Greeter#greetMe(java.lang.String)
+     */
+    public String greetMe(String me) {
+        LOG.info("Executing operation greetMe");
+        System.out.println("Executing operation greetMe");
+        System.out.println("Message received: " + me + "\n");
+        return "Hello " + me;
+    }
+    
+    /* (non-Javadoc)
+     * @see org.apache.hello_world_soap_http.Greeter#greetMeOneWay(java.lang.String)
+     */
+    public void greetMeOneWay(String me) {
+        LOG.info("Executing operation greetMeOneWay");
+        System.out.println("Executing operation greetMeOneWay\n");
+        System.out.println("Hello there " + me);
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.hello_world_soap_http.Greeter#sayHi()
+     */
+    public String sayHi() {
+        LOG.info("Executing operation sayHi");
+        System.out.println("Executing operation sayHi\n");
+        return "Bonjour";
+    }
+    
+    public void pingMe(String messageIn) throws PingMeFault {
+        FaultDetail faultDetail = new FaultDetail();
+        faultDetail.setMajor((short)2);
+        faultDetail.setMinor((short)1);
+        LOG.info("Executing operation pingMe, throwing PingMeFault exception, message = " 
+                 + messageIn);
+        System.out.println("Executing operation pingMe, throwing PingMeFault exception\n");
+        throw new PingMeFault("PingMeFault raised by server", faultDetail);
+    }
+
+    
+}

Propchange: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/GreeterImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Server.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Server.java?rev=580963&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Server.java (added)
+++ activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Server.java Mon Oct  1 07:06:30 2007
@@ -0,0 +1,48 @@
+/**
+ * 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.example.cxf;
+
+import javax.xml.ws.Endpoint;
+
+public class Server {
+    Endpoint endpoint;
+
+    public void start() throws Exception {
+        System.out.println("Starting Server");
+        Object implementor = new GreeterImpl();
+        String address = "http://cxf.apache.org/transports/jms";
+        endpoint = Endpoint.publish(address, implementor);        
+        
+    }
+    
+    public void stop() {
+        if (endpoint != null) {
+            endpoint.stop();
+        }    
+    }
+    
+
+    public static void main(String args[]) throws Exception {
+        Server server = new Server();
+        System.out.println("Server ready...");
+
+        Thread.sleep(5 * 60 * 1000);
+        System.out.println("Server exiting");
+        server.stop();
+        System.exit(0);
+    }
+}

Propchange: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/Server.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/jms/JmsBroker.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/jms/JmsBroker.java?rev=580963&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/jms/JmsBroker.java (added)
+++ activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/jms/JmsBroker.java Mon Oct  1 07:06:30 2007
@@ -0,0 +1,104 @@
+/**
+ * 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.example.jms;
+
+import java.io.File;
+
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.store.memory.MemoryPersistenceAdapter;
+
+public final class JmsBroker {
+    JMSEmbeddedBroker jmsBrokerThread;
+    String jmsBrokerUrl = "tcp://localhost:61616";
+    String activeMQStorageDir;
+    public JmsBroker() {
+    }
+
+    public JmsBroker(String url) {
+        jmsBrokerUrl = url;
+    }
+    
+    public void start() throws Exception {
+        jmsBrokerThread = new JMSEmbeddedBroker(jmsBrokerUrl);
+        jmsBrokerThread.startBroker();
+    }
+    
+    public void stop() throws Exception {
+        synchronized (this) {
+            jmsBrokerThread.shutdownBroker = true;
+        }
+        if (jmsBrokerThread != null) {
+            jmsBrokerThread.join();
+        }
+        
+        jmsBrokerThread = null;
+    }
+    
+    class JMSEmbeddedBroker extends Thread {
+        boolean shutdownBroker;
+        final String brokerUrl;
+        Exception exception;
+        
+        
+        public JMSEmbeddedBroker(String url) {
+            brokerUrl = url;
+        }
+        
+        public void startBroker() throws Exception {
+            synchronized (this) {
+                super.start();
+                try {
+                    wait();
+                    if (exception != null) {
+                        throw exception;
+                    }
+                } catch (InterruptedException ex) {
+                    ex.printStackTrace();
+                }
+            }
+        }
+        
+        public void run() {
+            try {  
+                //ContainerWapper container;
+                BrokerService broker = new BrokerService();
+                synchronized (this) {                                     
+                    broker.setPersistenceAdapter(new MemoryPersistenceAdapter());                    
+                    broker.setTmpDataDirectory(new File("./target"));
+                    broker.addConnector(brokerUrl);
+                    broker.start();
+                    Thread.sleep(200);
+                    notifyAll();
+                }
+                synchronized (this) {
+                    while (!shutdownBroker) {
+                        wait(1000);
+                    }
+                }                
+                broker.stop();              
+                broker = null;                
+            } catch (Exception e) {
+                exception = e;
+                e.printStackTrace();
+            }
+        }
+        
+       
+    }
+}
+

Propchange: activemq/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/jms/JmsBroker.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/LICENSE.txt
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/LICENSE.txt?rev=580963&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/LICENSE.txt (added)
+++ activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/LICENSE.txt Mon Oct  1 07:06:30 2007
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+

Propchange: activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/LICENSE.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/NOTICE.txt
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/NOTICE.txt?rev=580963&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/NOTICE.txt (added)
+++ activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/NOTICE.txt Mon Oct  1 07:06:30 2007
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.

Propchange: activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/NOTICE.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/wsdl/hello_world.wsdl
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/wsdl/hello_world.wsdl?rev=580963&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/wsdl/hello_world.wsdl (added)
+++ activemq/camel/trunk/examples/camel-example-cxf/src/main/resources/wsdl/hello_world.wsdl Mon Oct  1 07:06:30 2007
@@ -0,0 +1,248 @@
+<?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.
+-->
+
+<wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world_soap_http"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:jms="http://cxf.apache.org/transports/jms"
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+    xmlns:tns="http://apache.org/hello_world_soap_http"
+    xmlns:x1="http://apache.org/hello_world_soap_http/types"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+    <wsdl:types>
+        <schema targetNamespace="http://apache.org/hello_world_soap_http/types"
+            xmlns="http://www.w3.org/2001/XMLSchema"
+        xmlns:tns="http://apache.org/hello_world_soap_http/types"
+            elementFormDefault="qualified">
+        <simpleType name="MyStringType">
+        <restriction base="string">
+            <maxLength value="30" />
+        </restriction>
+        </simpleType>
+
+            <element name="sayHi">
+                <complexType/>
+            </element>
+            <element name="sayHiResponse">
+                <complexType>
+                    <sequence>
+                        <element name="responseType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMe">
+                <complexType>
+                    <sequence>
+                        <element name="requestType" type="tns:MyStringType"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMeResponse">
+                <complexType>
+                    <sequence>
+                        <element name="responseType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMeOneWay">
+                <complexType>
+                    <sequence>
+                        <element name="requestType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="pingMe">
+                <complexType>
+                    <sequence>
+                        <element name="faultType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="pingMeResponse">
+                <complexType/>
+            </element>
+            <element name="faultDetail">
+                <complexType>
+                    <sequence>
+                        <element name="minor" type="short"/>
+                        <element name="major" type="short"/>
+                    </sequence>
+                </complexType>
+            </element>
+        </schema>
+    </wsdl:types>
+    <wsdl:message name="sayHiRequest">
+        <wsdl:part element="x1:sayHi" name="in"/>
+    </wsdl:message>
+    <wsdl:message name="sayHiResponse">
+        <wsdl:part element="x1:sayHiResponse" name="out"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeRequest">
+        <wsdl:part element="x1:greetMe" name="in"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeResponse">
+        <wsdl:part element="x1:greetMeResponse" name="out"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeOneWayRequest">
+        <wsdl:part element="x1:greetMeOneWay" name="in"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeRequest">
+        <wsdl:part name="in" element="x1:pingMe"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeResponse">
+        <wsdl:part name="out" element="x1:pingMeResponse"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeFault">
+        <wsdl:part name="faultDetail" element="x1:faultDetail"/>
+    </wsdl:message>
+
+    <wsdl:portType name="Greeter">
+        <wsdl:operation name="sayHi">
+            <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
+            <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
+        </wsdl:operation>
+
+        <wsdl:operation name="greetMe">
+            <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
+            <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
+        </wsdl:operation>
+
+        <wsdl:operation name="greetMeOneWay">
+            <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
+        </wsdl:operation>
+
+        <wsdl:operation name="pingMe">
+            <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
+            <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
+            <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
+        </wsdl:operation>
+
+    </wsdl:portType>
+    <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+        <wsdl:operation name="sayHi">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="sayHiRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="sayHiResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+
+        <wsdl:operation name="greetMe">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="greetMeRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="greetMeResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+
+        <wsdl:operation name="greetMeOneWay">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="greetMeOneWayRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+
+        <wsdl:operation name="pingMe">
+            <soap:operation style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="pingMeFault">
+                <soap:fault name="pingMeFault" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+
+    </wsdl:binding>
+
+    <wsdl:binding name="JMSGreeterPortBinding" type="tns:Greeter">
+        <soap:binding style="document" transport="http://cxf.apache.org/transport/jms"/>
+
+        <wsdl:operation name="sayHi">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="sayHiRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="sayHiResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+
+        <wsdl:operation name="greetMe">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="greetMeRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="greetMeResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+
+        <wsdl:operation name="greetMeOneWay">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="greetMeOneWayRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+
+        <wsdl:operation name="pingMe">
+            <soap:operation style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="pingMeFault">
+                <soap:fault name="pingMeFault" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+
+    <wsdl:service name="SOAPService">
+        <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapOverHttp">
+            <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+        </wsdl:port>
+
+        <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapOverHttpRouter">
+            <soap:address location="http://localhost:9001/SoapContext/SoapPort"/>
+        </wsdl:port>
+
+        <wsdl:port binding="tns:JMSGreeterPortBinding" name="SoapOverJms">
+            <jms:address
+                destinationStyle="queue"
+                jndiConnectionFactoryName="ConnectionFactory"
+                jndiDestinationName="dynamicQueues/test.soap.jmstransport.queue">
+                <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
+                <jms:JMSNamingProperty name="java.naming.provider.url" value="tcp://localhost:61616"/>
+            </jms:address>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
+

Modified: activemq/camel/trunk/examples/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/pom.xml?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/examples/pom.xml (original)
+++ activemq/camel/trunk/examples/pom.xml Mon Oct  1 07:06:30 2007
@@ -63,6 +63,7 @@
     <module>camel-example-etl</module>
     <module>camel-example-bam</module>
     <module>camel-example-docs</module>
+    <module>camel-example-cxf</module>
   </modules>
 
   <profiles>

Modified: activemq/camel/trunk/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/pom.xml?rev=580963&r1=580962&r2=580963&view=diff
==============================================================================
--- activemq/camel/trunk/pom.xml (original)
+++ activemq/camel/trunk/pom.xml Mon Oct  1 07:06:30 2007
@@ -36,7 +36,7 @@
   <properties>
     <camel-version>1.1-SNAPSHOT</camel-version>
     <compiler.fork>false</compiler.fork>
-    <cxf-version>2.0.1-incubator</cxf-version>
+    <cxf-version>2.0.2-incubator</cxf-version>
     <spring-version>2.0.6</spring-version>
     <jetty-version>6.1.5</jetty-version>
     <m1-repo-url>scpexe://minotaur.apache.org/www/people.apache.org/repo/m1-snapshot-repository</m1-repo-url>
@@ -837,7 +837,7 @@
       <plugin>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
-          <forkMode>pertest</forkMode> 
+          <!--forkMode>pertest</forkMode--> 
           <childDelegation>false</childDelegation>
           <useFile>true</useFile>
           <includes>



Mime
View raw message