camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: svn commit: r1097936 - in /camel/trunk/components/camel-cxf: ./ src/main/java/org/apache/camel/component/cxf/ src/main/java/org/apache/camel/component/cxf/blueprint/ src/main/resources/OSGI-INF/ src/main/resources/OSGI-INF/blueprint/ src/main/res
Date Sat, 30 Apr 2011 11:43:04 GMT


Setting the cxf-version to 2.4.0 should fix that.

Dan



On Saturday, April 30, 2011 3:21:43 AM Claus Ibsen wrote:
> I get compilation failures on trunk now.
> 
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 2:43.696s
> [INFO] Finished at: Sat Apr 30 08:59:18 CEST 2011
> [INFO] Final Memory: 106M/272M
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
> (default-compile) on project camel-cxf: Compilation failure:
> Compilation failure:
> [ERROR]
> /Users/davsclaus/workspace/camel/components/camel-cxf/src/main/java/org/ap
> ache/camel/component/cxf/blueprint/CxfNamespaceHandler.java:[29,35] package
> org.apache.cxf.bus.blueprint does not exist
> [ERROR]
> /Users/davsclaus/workspace/camel/components/camel-cxf/src/main/java/org/ap
> ache/camel/component/cxf/blueprint/RsClientDefinitionParser.java:[27,45]
> package org.apache.cxf.configuration.blueprint does not exist
> [ERROR]
> /Users/davsclaus/workspace/camel/components/camel-cxf/src/main/java/org/ap
> ache/camel/component/cxf/blueprint/RsClientDefinitionParser.java:[30,46]
> cannot find symbol
> [ERROR] symbol: class AbstractBPBeanDefinitionParser
> [ERROR] public class RsClientDefinitionParser extends
> AbstractBPBeanDefinitionParser {
> [ERROR]
> /Users/davsclaus/workspace/camel/components/camel-cxf/src/main/java/org/ap
> ache/camel/component/cxf/blueprint/EndpointDefinitionParser.java:[38,45]
> package org.apache.cxf.configuration.blueprint does not exist
> [ERROR]
> /Users/davsclaus/workspace/camel/components/camel-cxf/src/main/java/org/ap
> ache/camel/component/cxf/blueprint/EndpointDefinitionParser.java:[45,46]
> cannot find symbol
> ...
> 
> I just did a mvn clean install -Dtest=false from the project root.
> 
> On Fri, Apr 29, 2011 at 10:12 PM,  <joed@apache.org> wrote:
> > Author: joed
> > Date: Fri Apr 29 20:12:54 2011
> > New Revision: 1097936
> > 
> > URL: http://svn.apache.org/viewvc?rev=1097936&view=rev
> > Log:
> > Camel CXF, blueprint support for endpoint.
> > 
> > CAMEL-3452
> > 
> > Added:
> >  
> >  camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/compone
> > nt/cxf/CxfBlueprintEndpoint.java
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/AbstractBeanDefinitionParser.java
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/CxfNamespaceHandler.java
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/EndpointDefinitionParser.java
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/RsClientDefinitionParser.java
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/RsServerDefinitionParser.java
> > camel/trunk/components/camel-cxf/src/main/resources/OSGI-INF/
> > camel/trunk/components/camel-cxf/src/main/resources/OSGI-INF/blueprint/
> > camel/trunk/components/camel-cxf/src/main/resources/OSGI-INF/blueprint/c
> > amel-cxf.xml
> > camel/trunk/components/camel-cxf/src/main/resources/schema/blueprint/
> > camel/trunk/components/camel-cxf/src/main/resources/schema/blueprint/cam
> > el-cxf.xsd Modified:
> >    camel/trunk/components/camel-cxf/pom.xml
> > 
> > Modified: camel/trunk/components/camel-cxf/pom.xml
> > URL:
> > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/pom.xml?re
> > v=1097936&r1=1097935&r2=1097936&view=diff
> > ========================================================================
> > ====== --- camel/trunk/components/camel-cxf/pom.xml (original)
> > +++ camel/trunk/components/camel-cxf/pom.xml Fri Apr 29 20:12:54 2011
> > @@ -15,7 +15,8 @@
> >   See the License for the specific language governing permissions and
> >   limitations under the License.
> >  -->
> > -<project xmlns="http://maven.apache.org/POM/4.0.0"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > http://maven.apache.org/maven-v4_0_0.xsd"> +<project
> > xmlns="http://maven.apache.org/POM/4.0.0"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +        
> > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > http://maven.apache.org/maven-v4_0_0.xsd">
> > 
> >   <modelVersion>4.0.0</modelVersion>
> > 
> > @@ -32,9 +33,9 @@
> >   <description>Camel CXF support</description>
> > 
> >   <properties>
> > -     <camel.osgi.import>
> > +    <camel.osgi.import>
> >       !org.apache.camel.component.cxf.*,
> > -      !META-INF.cxf.camel,
> > +      !META-INF.cxf.camel,
> >       javax.activation*;version="[0.0,2)",
> >       javax.annotation*;version="[0.0,2)",
> >       javax.jws*;version="[0.0,3)",
> > @@ -44,16 +45,26 @@
> >       org.apache.camel.*;${camel.osgi.import.camel.version},
> >       ${camel.osgi.import.defaults},
> >       ${camel.osgi.import.additional},
> > +      org.osgi.service.blueprint;resolution:=optional,
> > +      org.osgi.service.blueprint.container;resolution:=optional,
> > +      org.osgi.service.blueprint.reflect;resolution:=optional,
> > +      org.apache.aries.blueprint;resolution:=optional,
> > +      org.apache.aries.blueprint.reflect ;resolution:=optional,
> > +      org.apache.aries.blueprint.mutable;resolution:=optional,
> > +      org.apache.camel.blueprint;resolution:=optional,
> > +      org.osgi.framework;resolution:=optional,
> >       *
> > -     </camel.osgi.import>
> > -     <camel.osgi.export>
> > -      
> > org.apache.camel.component.cxf.*;${camel.osgi.version};-split-package:=m
> > erge-first, -        '=META-INF.cxf.camel'
> > -     </camel.osgi.export>
> > -     <camel.osgi.failok>true</camel.osgi.failok>
> > +    </camel.osgi.import>
> > +
> > +    <camel.osgi.export>
> > +    
> >  org.apache.camel.component.cxf.*;${camel.osgi.version};-split-package:=
> > merge-first, +      '=META-INF.cxf.camel'
> > +    </camel.osgi.export>
> > +    <camel.osgi.failok>true</camel.osgi.failok>
> > +
> >   </properties>
> > 
> > -  <dependencies>
> > +  <dependencies>
> >     <dependency>
> >       <groupId>org.apache.camel</groupId>
> >       <artifactId>camel-core</artifactId>
> > @@ -61,33 +72,53 @@
> >     <dependency>
> >       <groupId>org.apache.camel</groupId>
> >       <artifactId>camel-spring</artifactId>
> > -    </dependency>
> > -
> > +    </dependency>
> > +
> >     <dependency>
> >       <groupId>org.apache.cxf</groupId>
> >       <artifactId>cxf-rt-frontend-jaxrs</artifactId>
> >       <version>${cxf-version}</version>
> >     </dependency>
> > -
> > +
> >     <dependency>
> >       <groupId>org.apache.cxf</groupId>
> >       <artifactId>cxf-rt-frontend-jaxws</artifactId>
> >       <version>${cxf-version}</version>
> >     </dependency>
> > -
> > +
> >     <dependency>
> > -       <groupId>org.springframework</groupId>
> > -       <artifactId>spring-core</artifactId>
> > +      <groupId>org.springframework</groupId>
> > +      <artifactId>spring-core</artifactId>
> >     </dependency>
> > 
> >     <dependency>
> > -       <groupId>org.springframework</groupId>
> > -       <artifactId>spring-beans</artifactId>
> > +      <groupId>org.springframework</groupId>
> > +      <artifactId>spring-beans</artifactId>
> >     </dependency>
> > 
> >     <dependency>
> > -       <groupId>org.springframework</groupId>
> > -       <artifactId>spring-context</artifactId>
> > +      <groupId>org.springframework</groupId>
> > +      <artifactId>spring-context</artifactId>
> > +    </dependency>
> > +
> > +    <!-- OSGi, BLueprint -->
> > +    <dependency>
> > +      <groupId>org.apache.camel</groupId>
> > +      <artifactId>camel-blueprint</artifactId>
> > +    </dependency>
> > +    <dependency>
> > +      <groupId>org.osgi</groupId>
> > +      <artifactId>org.osgi.core</artifactId>
> > +      <scope>provided</scope>
> > +    </dependency>
> > +    <dependency>
> > +      <groupId>org.osgi</groupId>
> > +      <artifactId>org.osgi.compendium</artifactId>
> > +      <scope>provided</scope>
> > +    </dependency>
> > +    <dependency>
> > +      <groupId>org.apache.aries.blueprint</groupId>
> > +      <artifactId>org.apache.aries.blueprint</artifactId>
> >     </dependency>
> > 
> >     <!--  Test Dependencies -->
> > @@ -96,33 +127,33 @@
> >       <artifactId>camel-core-xml</artifactId>
> >       <scope>test</scope>
> >     </dependency>
> > -
> > +
> >     <dependency>
> >       <groupId>org.apache.camel</groupId>
> >       <artifactId>camel-test</artifactId>
> >       <scope>test</scope>
> >     </dependency>
> > -
> > +
> >     <dependency>
> >       <groupId>org.apache.camel</groupId>
> >       <artifactId>camel-http</artifactId>
> >       <scope>test</scope>
> >     </dependency>
> > -
> > +
> >     <dependency>
> >       <groupId>org.apache.cxf</groupId>
> >       <artifactId>cxf-rt-bindings-jbi</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.apache.camel</groupId>
> >       <artifactId>camel-jetty</artifactId>
> > @@ -135,13 +166,13 @@
> >       <version>${httpclient4-version}</version>
> >       <scope>test</scope>
> >     </dependency>
> > -
> > -     <dependency>
> > +
> > +    <dependency>
> >       <groupId>log4j</groupId>
> >       <artifactId>log4j</artifactId>
> >       <scope>test</scope>
> >     </dependency>
> > -
> > +
> >     <dependency>
> >       <groupId>org.slf4j</groupId>
> >       <artifactId>slf4j-log4j12</artifactId>
> > @@ -154,23 +185,23 @@
> >       <version>${cxf-version}</version>
> >       <scope>test</scope>
> >     </dependency>
> > -
> > -     <dependency>
> > -       <groupId>org.springframework</groupId>
> > -       <artifactId>spring-test</artifactId>
> > -       <scope>test</scope>
> > -     </dependency>
> > -
> > -    <dependency>
> > -       <groupId>org.springframework</groupId>
> > -       <artifactId>spring-web</artifactId>
> > -       <scope>test</scope>
> > -     </dependency>
> > -
> > -    <dependency>
> > -       <groupId>junit</groupId>
> > -       <artifactId>junit</artifactId>
> > -       <scope>test</scope>
> > +
> > +    <dependency>
> > +      <groupId>org.springframework</groupId>
> > +      <artifactId>spring-test</artifactId>
> > +      <scope>test</scope>
> > +    </dependency>
> > +
> > +    <dependency>
> > +      <groupId>org.springframework</groupId>
> > +      <artifactId>spring-web</artifactId>
> > +      <scope>test</scope>
> > +    </dependency>
> > +
> > +    <dependency>
> > +      <groupId>junit</groupId>
> > +      <artifactId>junit</artifactId>
> > +      <scope>test</scope>
> >     </dependency>
> > 
> >     <dependency>
> > @@ -226,52 +257,52 @@
> >         </executions>
> >       </plugin>
> >       <plugin>
> > -       <groupId>org.apache.cxf</groupId>
> > -       <artifactId>cxf-codegen-plugin</artifactId>
> > -       <version>${cxf-version}</version>
> > -       <executions>
> > -               <execution>
> > -                       <id>generate-test-sources</id>
> > -                       <phase>generate-sources</phase>
> > -                       <configuration>
> > -                              
> > <sourceRoot>${basedir}/target/generated</sourceRoot> -                  
> >             <wsdlOptions>
> > -                                   <wsdlOption>
> > -                                              
> > <wsdl>${basedir}/src/test/resources/mtom.wsdl</wsdl> -                  
> >                     </wsdlOption>
> > -                                       <wsdlOption>
> > -                                              
> > <wsdl>${basedir}/src/test/resources/MultiPartTest.wsdl</wsdl> -        
> >                               </wsdlOption>
> > -                                       <wsdlOption>
> > -                                              
> > <wsdl>${basedir}/src/test/resources/person.wsdl</wsdl> -                
> >                       </wsdlOption>
> > -                                       <wsdlOption>
> > -                                              
> > <wsdl>${basedir}/src/test/resources/person-non-wrapper.wsdl</wsdl> -    
> >                                           <extraargs>
> > -                                                      
> > <extraarg>-b</extraarg> -                                              
> >        
> > <extraarg>${basedir}/src/test/resources/person-non-wrapper-binding.xml</
> > extraarg> -                                               </extraargs>
> > -                                       </wsdlOption>
> > -                                       <wsdlOption>
> > -                                              
> > <wsdl>${basedir}/src/test/resources/soap_header.wsdl</wsdl> -          
> >                                     <extraargs>
> > -                                                      
> > <extraarg>-verbose</extraarg> -                                        
> >       </extraargs>
> > -                                       </wsdlOption>
> > -                                       <wsdlOption>
> > -                                              
> > <wsdl>${basedir}/src/test/resources/pizza_service.wsdl</wsdl> -        
> >                                       <extraargs>
> > -                                                      
> > <extraarg>-exsh</extraarg> -                                            
> >           <extraarg>true</extraarg> -                                  
> >             </extraargs>
> > -                                       </wsdlOption>
> > -                               </wsdlOptions>
> > -                       </configuration>
> > -                       <goals>
> > -                               <goal>wsdl2java</goal>
> > -                       </goals>
> > -               </execution>
> > -       </executions>
> > +        <groupId>org.apache.cxf</groupId>
> > +        <artifactId>cxf-codegen-plugin</artifactId>
> > +        <version>${cxf-version}</version>
> > +        <executions>
> > +          <execution>
> > +            <id>generate-test-sources</id>
> > +            <phase>generate-sources</phase>
> > +            <configuration>
> > +              <sourceRoot>${basedir}/target/generated</sourceRoot>
> > +              <wsdlOptions>
> > +                <wsdlOption>
> > +                  <wsdl>${basedir}/src/test/resources/mtom.wsdl</wsdl>
> > +                </wsdlOption>
> > +                <wsdlOption>
> > +                
> >  <wsdl>${basedir}/src/test/resources/MultiPartTest.wsdl</wsdl> +        
> >        </wsdlOption>
> > +                <wsdlOption>
> > +                  <wsdl>${basedir}/src/test/resources/person.wsdl</wsdl>
> > +                </wsdlOption>
> > +                <wsdlOption>
> > +                
> >  <wsdl>${basedir}/src/test/resources/person-non-wrapper.wsdl</wsdl> +  
> >                <extraargs>
> > +                    <extraarg>-b</extraarg>
> > +                  
> >  <extraarg>${basedir}/src/test/resources/person-non-wrapper-binding.xml<
> > /extraarg> +                  </extraargs>
> > +                </wsdlOption>
> > +                <wsdlOption>
> > +                
> >  <wsdl>${basedir}/src/test/resources/soap_header.wsdl</wsdl> +          
> >        <extraargs>
> > +                    <extraarg>-verbose</extraarg>
> > +                  </extraargs>
> > +                </wsdlOption>
> > +                <wsdlOption>
> > +                
> >  <wsdl>${basedir}/src/test/resources/pizza_service.wsdl</wsdl> +        
> >          <extraargs>
> > +                    <extraarg>-exsh</extraarg>
> > +                    <extraarg>true</extraarg>
> > +                  </extraargs>
> > +                </wsdlOption>
> > +              </wsdlOptions>
> > +            </configuration>
> > +            <goals>
> > +              <goal>wsdl2java</goal>
> > +            </goals>
> > +          </execution>
> > +        </executions>
> >       </plugin>
> >     </plugins>
> >   </build>
> > 
> > Added:
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/CxfBlueprintEndpoint.java URL:
> > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/j
> > ava/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java?rev=1097936&
> > view=auto
> > ========================================================================
> > ====== ---
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/CxfBlueprintEndpoint.java (added) +++
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/CxfBlueprintEndpoint.java Fri Apr 29 20:12:54 2011 @@ -0,0 +1,198
> > @@
> > +/**
> > + * 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.component.cxf;
> > +
> > +import java.lang.reflect.Proxy;
> > +import java.util.List;
> > +import java.util.Map;
> > +import javax.xml.ws.handler.Handler;
> > +
> > +import org.apache.camel.blueprint.BlueprintCamelContext;
> > +import org.apache.camel.component.cxf.util.CxfEndpointUtils;
> > +import org.apache.camel.util.ObjectHelper;
> > +import org.apache.cxf.BusFactory;
> > +import org.apache.cxf.endpoint.Client;
> > +import org.apache.cxf.frontend.ClientFactoryBean;
> > +import org.apache.cxf.frontend.ClientProxy;
> > +import org.apache.cxf.frontend.ClientProxyFactoryBean;
> > +import org.apache.cxf.frontend.ServerFactoryBean;
> > +import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
> > +import org.osgi.framework.BundleContext;
> > +import org.osgi.service.blueprint.container.BlueprintContainer;
> > +import org.slf4j.Logger;
> > +import org.slf4j.LoggerFactory;
> > +
> > +public class CxfBlueprintEndpoint extends CxfEndpoint {
> > +
> > +    private static final Logger LOG =
> > LoggerFactory.getLogger(CxfBlueprintEndpoint.class); +
> > +    protected Map<String, Object> properties;
> > +
> > +    private List<Handler> handlers;
> > +    private List<String> schemaLocations;
> > +
> > +    private BlueprintContainer blueprintContainer;
> > +    private BundleContext bundleContext;
> > +    private BlueprintCamelContext blueprintCamelContext;
> > +
> > +    public CxfBlueprintEndpoint(String address, BlueprintCamelContext
> > context) { +        super(address, context);
> > +        this.blueprintCamelContext = context;
> > +    }
> > +
> > +    public List<Handler> getHandlers() {
> > +        return handlers;
> > +    }
> > +
> > +    public void setHandlers(List<Handler> handlers) {
> > +        this.handlers = handlers;
> > +    }
> > +
> > +    public void destroy() {
> > +        // Clean up the BusFactory's defaultBus
> > +        // This method is not called magically, blueprint
> > +        // needs you to set the destroy-method.
> > +        BusFactory.setDefaultBus(null);
> > +        BusFactory.setThreadDefaultBus(null);
> > +    }
> > +
> > +    // Package private methods
> > +    //
> > ------------------------------------------------------------------------
> > - +
> > +    /**
> > +     * Create a CXF client object
> > +     */
> > +    Client createClient() throws Exception {
> > +
> > +        // get service class
> > +        if (getDataFormat().equals(DataFormat.POJO)) {
> > +            ObjectHelper.notEmpty(getServiceClass(),
> > CxfConstants.SERVICE_CLASS); +        }
> > +
> > +        if (getWsdlURL() == null && getServiceClass() == null) {
> > +            // no WSDL and serviceClass specified, set our default
> > serviceClass +          
> >  setServiceClass(org.apache.camel.component.cxf.DefaultSEI.class.getName
> > ()); +          
> >  setDefaultOperationNamespace(CxfConstants.DISPATCH_NAMESPACE); +      
> >    
> >  setDefaultOperationName(CxfConstants.DISPATCH_DEFAULT_OPERATION_NAMESPA
> > CE); +            if (getDataFormat().equals(DataFormat.PAYLOAD)) {
> > +                setSkipPayloadMessagePartCheck(true);
> > +            }
> > +        }
> > +
> > +        Class<?> cls = null;
> > +        if (getServiceClass() != null) {
> > +            //Fool CXF classes to load their settings and bindings from
> > the CXF bundle +            cls =
> > bundleContext.getBundle().loadClass(getServiceClass()); +            //
> > create client factory bean
> > +            ClientProxyFactoryBean factoryBean =
> > createClientFactoryBean(cls); +            // setup client factory bean
> > +            setupClientFactoryBean(factoryBean, cls);
> > +            return ((ClientProxy)
> > Proxy.getInvocationHandler(factoryBean.create())).getClient(); +      
> >  } else {
> > +            checkName(getPortName(), "endpoint/port name");
> > +            checkName(getServiceName(), "service name");
> > +
> > +            ClientFactoryBean factoryBean = createClientFactoryBean();
> > +            // setup client factory bean
> > +            setupClientFactoryBean(factoryBean);
> > +            return factoryBean.create();
> > +        }
> > +    }
> > +
> > +    protected void checkName(Object value, String name) {
> > +        if (ObjectHelper.isEmpty(value)) {
> > +            LOG.warn("The " + name + " of " + this.getEndpointUri() + "
> > is empty, cxf will try to load the first one in wsdl for you."); +      
> >  }
> > +    }
> > +
> > +    /**
> > +     * Create a CXF server factory bean
> > +     */
> > +    ServerFactoryBean createServerFactoryBean() throws Exception {
> > +
> > +        Class<?> cls = null;
> > +        if (getDataFormat() == DataFormat.POJO || getServiceClass() !=
> > null) { +            // get service class
> > +            ObjectHelper.notEmpty(getServiceClass(),
> > CxfConstants.SERVICE_CLASS); +            cls =
> > bundleContext.getBundle().loadClass(getServiceClass()); +        }
> > +
> > +        // create server factory bean
> > +        // Shouldn't use CxfEndpointUtils.getServerFactoryBean(cls) as
> > it is for +        // CxfSoapComponent
> > +        ServerFactoryBean answer = null;
> > +
> > +        if (cls == null) {
> > +            checkName(getPortName(), " endpoint/port name");
> > +            checkName(getServiceName(), " service name");
> > +            answer = new ServerFactoryBean(new
> > WSDLServiceFactoryBean()); +        } else if
> > (CxfEndpointUtils.hasWebServiceAnnotation(cls)) { +            answer =
> > new JaxWsServerFactoryBean();
> > +        } else {
> > +            answer = new ServerFactoryBean();
> > +        }
> > +        // setup server factory bean
> > +        setupServerFactoryBean(answer, cls);
> > +
> > +        return answer;
> > +    }
> > +
> > +    public void setSchemaLocations(List<String> schemaLocations) {
> > +        this.schemaLocations = schemaLocations;
> > +    }
> > +
> > +    public List<String> getSchemaLocations() {
> > +        return schemaLocations;
> > +    }
> > +
> > +    public BlueprintContainer getBlueprintContainer() {
> > +        return blueprintContainer;
> > +    }
> > +
> > +    public void setBlueprintContainer(BlueprintContainer
> > blueprintContainer) { +        this.blueprintContainer =
> > blueprintContainer;
> > +    }
> > +
> > +    public BundleContext getBundleContext() {
> > +        return bundleContext;
> > +    }
> > +
> > +    public void setBundleContext(BundleContext bundleContext) {
> > +        this.bundleContext = bundleContext;
> > +    }
> > +
> > +    public BlueprintCamelContext getBlueprintCamelContext() {
> > +        return blueprintCamelContext;
> > +    }
> > +
> > +    public void setBlueprintCamelContext(BlueprintCamelContext
> > blueprintCamelContext) { +        this.blueprintCamelContext =
> > blueprintCamelContext;
> > +    }
> > +
> > +    public Map<String, Object> getProperties() {
> > +        return properties;
> > +    }
> > +
> > +    public void setProperties(Map<String, Object> properties) {
> > +        this.properties = properties;
> > +    }
> > +
> > +    public CxfBlueprintEndpoint getBean() {
> > +        return this;
> > +    }
> > +}
> > 
> > Added:
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/AbstractBeanDefinitionParser.java URL:
> > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/j
> > ava/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser
> > .java?rev=1097936&view=auto
> > ========================================================================
> > ====== ---
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/AbstractBeanDefinitionParser.java (added) +++
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/AbstractBeanDefinitionParser.java Fri Apr 29 20:12:54
> > 2011 @@ -0,0 +1,24 @@
> > +/**
> > + * 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.component.cxf.blueprint;
> > +
> > +import
> > org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser; +
> > +public class AbstractBeanDefinitionParser extends
> > AbstractBPBeanDefinitionParser { +
> > +}
> > 
> > Added:
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/CxfNamespaceHandler.java URL:
> > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/j
> > ava/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java?rev
> > =1097936&view=auto
> > ========================================================================
> > ====== ---
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/CxfNamespaceHandler.java (added) +++
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/CxfNamespaceHandler.java Fri Apr 29 20:12:54 2011 @@ -0,0
> > +1,60 @@
> > +/**
> > + * 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.component.cxf.blueprint;
> > +
> > +import java.net.URL;
> > +import java.util.Arrays;
> > +import java.util.HashSet;
> > +import java.util.Set;
> > +import org.w3c.dom.Element;
> > +import org.w3c.dom.Node;
> > +
> > +import org.apache.aries.blueprint.NamespaceHandler;
> > +import org.apache.aries.blueprint.ParserContext;
> > +import org.apache.cxf.bus.blueprint.BlueprintBus;
> > +import org.osgi.service.blueprint.reflect.ComponentMetadata;
> > +import org.osgi.service.blueprint.reflect.Metadata;
> > +
> > +public class CxfNamespaceHandler implements NamespaceHandler {
> > +
> > +    public URL getSchemaLocation(String s) {
> > +        return
> > getClass().getClassLoader().getResource("schema/blueprint/camel-cxf.xsd"
> > ); +    }
> > +
> > +    public Set<Class> getManagedClasses() {
> > +        return new
> > HashSet<Class>(Arrays.asList(CxfNamespaceHandler.class)); +    }
> > +
> > +    public Metadata parse(Element element, ParserContext context) {
> > +      
> >  Thread.currentThread().setContextClassLoader(BlueprintBus.class.getClas
> > sLoader()); +        String s = element.getLocalName();
> > +        if ("cxfEndpoint".equals(s)) {
> > +            return new EndpointDefinitionParser().parse(element,
> > context); +        } else if ("server".equals(s)) {
> > +            //return new
> > RsServerDefinitionParser(JaxWsServerFactoryBean.class).parse(element,
> > context); +        } else if ("client".equals(s)) {
> > +            //return new
> > RsClientDefinitionParser(JaxWsProxyFactoryBean.class).parse(element,
> > context); +        }
> > +        return null;
> > +    }
> > +
> > +    public ComponentMetadata decorate(Node node, ComponentMetadata
> > componentMetadata, ParserContext parserContext) { +      
> >  System.out.println("Decorate the node " + node + " " +
> > componentMetadata); +        return null;
> > +    }
> > +}
> > 
> > Added:
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/EndpointDefinitionParser.java URL:
> > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/j
> > ava/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.jav
> > a?rev=1097936&view=auto
> > ========================================================================
> > ====== ---
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/EndpointDefinitionParser.java (added) +++
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/EndpointDefinitionParser.java Fri Apr 29 20:12:54 2011 @@
> > -0,0 +1,213 @@
> > +/**
> > + * 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.component.cxf.blueprint;
> > +
> > +import java.util.Set;
> > +import java.util.StringTokenizer;
> > +import java.util.concurrent.Callable;
> > +import javax.xml.namespace.QName;
> > +import org.w3c.dom.Attr;
> > +import org.w3c.dom.Element;
> > +import org.w3c.dom.NamedNodeMap;
> > +
> > +import org.apache.aries.blueprint.ComponentDefinitionRegistry;
> > +import org.apache.aries.blueprint.ComponentDefinitionRegistryProcessor;
> > +import org.apache.aries.blueprint.ParserContext;
> > +import org.apache.aries.blueprint.PassThroughMetadata;
> > +import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
> > +import org.apache.aries.blueprint.mutable.MutablePassThroughMetadata;
> > +import org.apache.aries.blueprint.reflect.BeanMetadataImpl;
> > +import org.apache.camel.blueprint.BlueprintCamelContext;
> > +import org.apache.camel.component.cxf.CxfBlueprintEndpoint;
> > +import org.apache.cxf.common.util.StringUtils;
> > +import
> > org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
> > +import org.apache.cxf.helpers.DOMUtils;
> > +import org.osgi.framework.Bundle;
> > +import org.osgi.service.blueprint.container.BlueprintContainer;
> > +import org.osgi.service.blueprint.reflect.ComponentMetadata;
> > +import org.osgi.service.blueprint.reflect.Metadata;
> > +
> > +public class EndpointDefinitionParser extends
> > AbstractBPBeanDefinitionParser { +
> > +    public static String getIdOrName(Element elem) {
> > +        String id = elem.getAttribute("id");
> > +
> > +        if (null == id || "".equals(id)) {
> > +            String names = elem.getAttribute("name");
> > +            if (null != names) {
> > +                StringTokenizer st = new StringTokenizer(names, ",");
> > +                if (st.countTokens() > 0) {
> > +                    id = st.nextToken();
> > +                }
> > +            }
> > +        }
> > +        return id;
> > +    }
> > +
> > +    public Metadata parse(Element element, ParserContext context) {
> > +        MutableBeanMetadata endpointConfig =
> > context.createMetadata(MutableBeanMetadata.class); +      
> >  endpointConfig.setRuntimeClass(CxfBlueprintEndpoint.class); +      
> >  endpointConfig.addProperty("blueprintContainer", createRef(context,
> > "blueprintContainer")); +      
> >  endpointConfig.addProperty("bundleContext", createRef(context,
> > "blueprintBundleContext")); +
> > +        if (!StringUtils.isEmpty(getIdOrName(element))) {
> > +            endpointConfig.setId(getIdOrName(element));
> > +        } else {
> > +            endpointConfig.setId("camel.cxf.endpoint." +
> > context.generateId()); +        }
> > +
> > +        boolean isAbstract = false;
> > +        boolean publish = true;
> > +        NamedNodeMap atts = element.getAttributes();
> > +
> > +        String bus = null;
> > +        Metadata impl = null;
> > +        String address = null;
> > +
> > +        for (int i = 0; i < atts.getLength(); i++) {
> > +            Attr node = (Attr) atts.item(i);
> > +            String val = node.getValue();
> > +            String pre = node.getPrefix();
> > +            String name = node.getLocalName();
> > +            if ("createdFromAPI".equals(name) ||
> > "abstract".equals(name)) { +              
> >  endpointConfig.setScope(MutableBeanMetadata.SCOPE_PROTOTYPE); +        
> >        isAbstract = true;
> > +            } else if ("publish".equals(name)) {
> > +                publish = Boolean.parseBoolean(val);
> > +            } else if ("bus".equals(name)) {
> > +                bus = val;
> > +            } else if ("address".equals(name)) {
> > +                address = val;
> > +            } else if (isAttribute(pre, name)) {
> > +                if ("endpointName".equals(name) ||
> > "serviceName".equals(name)) { +                    QName q =
> > parseQName(element, val);
> > +                    endpointConfig.addProperty(name,
> > createValue(context, q)); +                } else if
> > ("depends-on".equals(name)) {
> > +                    endpointConfig.addDependsOn(val);
> > +                } else if ("implementor".equals(name)) {
> > +                    if (val.startsWith("#")) {
> > +                        impl = createRef(context, val.substring(1));
> > +                    } else {
> > +                        impl = createObjectOfClass(context, val);
> > +                    }
> > +                } else if (!"name".equals(name)) {
> > +                    endpointConfig.addProperty(name,
> > AbstractBPBeanDefinitionParser.createValue(context, val)); +            
> >    }
> > +            }
> > +        }
> > +
> > +        Element elem = DOMUtils.getFirstElement(element);
> > +        while (elem != null) {
> > +            String name = elem.getLocalName();
> > +            if ("properties".equals(name)) {
> > +                Metadata map = parseMapData(context, endpointConfig,
> > elem); +                endpointConfig.addProperty(name, map);
> > +            } else if ("binding".equals(name)) {
> > +                setFirstChildAsProperty(element, context,
> > endpointConfig, "bindingConfig"); +            } else if
> > ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name) ||
> > "outInterceptors".equals(name) +                ||
> > "outFaultInterceptors".equals(name) || "features".equals(name) ||
> > "schemaLocations".equals(name) || "handlers".equals(name)) { +          
> >      Metadata list = parseListData(context, endpointConfig, elem); +    
> >            endpointConfig.addProperty(name, list);
> > +            } else {
> > +                setFirstChildAsProperty(element, context,
> > endpointConfig, name); +            }
> > +
> > +            elem = DOMUtils.getNextElement(elem);
> > +        }
> > +        if (StringUtils.isEmpty(bus)) {
> > +            bus = "cxf";
> > +        }
> > +        //Will create a bus if needed...
> > +
> > +        endpointConfig.addProperty("bus", getBusRef(context, bus));
> > +        endpointConfig.setDestroyMethod("destroy");
> > +      
> >  endpointConfig.addArgument(AbstractBPBeanDefinitionParser.createValue(c
> > ontext, address), String.class.getName(), 0); +
> > +        //Register a bean that will post-process and pick the first
> > available camelContext to attach our endpoint to. +      
> >  MutablePassThroughMetadata regProcessorFactory =
> > context.createMetadata(MutablePassThroughMetadata.class); +      
> >  regProcessorFactory.setId(context.generateId());
> > +        regProcessorFactory.setObject(new
> > PassThroughCallable<Object>(new
> > CxfCamelContextFinder(endpointConfig.getId(), context))); +
> > +        MutableBeanMetadata regProcessor =
> > context.createMetadata(MutableBeanMetadata.class); +      
> >  regProcessor.setId(context.generateId());
> > +        regProcessor.setRuntimeClass(CxfCamelContextFinder.class);
> > +        regProcessor.setFactoryComponent(regProcessorFactory);
> > +        regProcessor.setFactoryMethod("call");
> > +        regProcessor.setProcessor(true);
> > +        regProcessor.addProperty("blueprintContainer",
> > createRef(context, "blueprintContainer")); +      
> >  context.getComponentDefinitionRegistry().registerComponentDefinition(re
> > gProcessor); +
> > +        return endpointConfig;
> > +    }
> > +
> > +    private Bundle getBlueprintBundle(ParserContext context) {
> > +        PassThroughMetadata metadata = (PassThroughMetadata)
> > context.getComponentDefinitionRegistry().getComponentDefinition("bluepri
> > ntBundle"); +
> > +        Bundle result = null;
> > +        if (metadata != null) {
> > +            result = (Bundle) metadata.getObject();
> > +        }
> > +
> > +        return result;
> > +    }
> > +
> > +    public static class PassThroughCallable<T> implements Callable<T> {
> > +
> > +        private T value;
> > +
> > +        public PassThroughCallable(T value) {
> > +            this.value = value;
> > +        }
> > +
> > +        public T call() throws Exception {
> > +            return value;
> > +        }
> > +    }
> > +
> > +    public static class CxfCamelContextFinder implements
> > ComponentDefinitionRegistryProcessor { +
> > +        private final String cxfEndpointName;
> > +        private final ParserContext context;
> > +        private BlueprintContainer blueprintContainer;
> > +
> > +        public CxfCamelContextFinder(String cxfEndpointName,
> > ParserContext context) { +            this.cxfEndpointName =
> > cxfEndpointName;
> > +            this.context = context;
> > +        }
> > +
> > +        public void setBlueprintContainer(BlueprintContainer
> > blueprintContainer) { +            this.blueprintContainer =
> > blueprintContainer;
> > +        }
> > +
> > +        public void process(ComponentDefinitionRegistry
> > componentDefinitionRegistry) { +            MutableBeanMetadata bean =
> > (MutableBeanMetadata)
> > blueprintContainer.getComponentMetadata(cxfEndpointName); +
> > +            Set<String> components =
> > componentDefinitionRegistry.getComponentDefinitionNames(); +          
> >  for (String componentName : components) {
> > +                ComponentMetadata metaData =
> > context.getComponentDefinitionRegistry().getComponentDefinition(componen
> > tName); +                if (metaData instanceof BeanMetadataImpl) {
> > +                    BeanMetadataImpl bim = (BeanMetadataImpl) metaData;
> > +                    if
> > (bim.getRuntimeClass().isAssignableFrom(BlueprintCamelContext.class)) {
> > +                        //Found a CamelContext
> > +                        bean.addArgument(createRef(context,
> > metaData.getId()), BlueprintCamelContext.class.getName(), 1); +        
> >            }
> > +                }
> > +            }
> > +        }
> > +    }
> > +}
> > 
> > Added:
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/RsClientDefinitionParser.java URL:
> > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/j
> > ava/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.jav
> > a?rev=1097936&view=auto
> > ========================================================================
> > ====== ---
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/RsClientDefinitionParser.java (added) +++
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/RsClientDefinitionParser.java Fri Apr 29 20:12:54 2011 @@
> > -0,0 +1,61 @@
> > +/**
> > + * 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.component.cxf.blueprint;
> > +
> > +import java.util.StringTokenizer;
> > +import org.w3c.dom.Element;
> > +
> > +import org.apache.aries.blueprint.ParserContext;
> > +import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
> > +import org.apache.camel.component.cxf.CxfBlueprintEndpoint;
> > +import org.apache.cxf.common.util.StringUtils;
> > +import
> > org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
> > +import org.osgi.service.blueprint.reflect.Metadata;
> > +
> > +public class RsClientDefinitionParser extends
> > AbstractBPBeanDefinitionParser { +
> > +    public Metadata parse(Element element, ParserContext context) {
> > +        MutableBeanMetadata endpointConfig =
> > context.createMetadata(MutableBeanMetadata.class); +      
> >  endpointConfig.setRuntimeClass(CxfBlueprintEndpoint.class); +      
> >  endpointConfig.addProperty("blueprintContainer", createRef(context,
> > "blueprintContainer")); +      
> >  endpointConfig.addProperty("bundleContext", createRef(context,
> > "blueprintBundleContext")); +
> > +        if (!StringUtils.isEmpty(getIdOrName(element))) {
> > +            endpointConfig.setId(getIdOrName(element));
> > +        } else {
> > +            endpointConfig.setId("camel.cxf.endpoint." +
> > context.generateId()); +        }
> > +
> > +        return null;
> > +    }
> > +
> > +    public static String getIdOrName(Element elem) {
> > +        String id = elem.getAttribute("id");
> > +
> > +        if (null == id || "".equals(id)) {
> > +            String names = elem.getAttribute("name");
> > +            if (null != names) {
> > +                StringTokenizer st = new StringTokenizer(names, ",");
> > +                if (st.countTokens() > 0) {
> > +                    id = st.nextToken();
> > +                }
> > +            }
> > +        }
> > +        return id;
> > +    }
> > +}
> > 
> > Added:
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/RsServerDefinitionParser.java URL:
> > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/j
> > ava/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.jav
> > a?rev=1097936&view=auto
> > ========================================================================
> > ====== ---
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/RsServerDefinitionParser.java (added) +++
> > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/componen
> > t/cxf/blueprint/RsServerDefinitionParser.java Fri Apr 29 20:12:54 2011 @@
> > -0,0 +1,22 @@
> > +/**
> > + * 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.component.cxf.blueprint;
> > +
> > +public class RsServerDefinitionParser {
> > +
> > +}
> > 
> > Added:
> > camel/trunk/components/camel-cxf/src/main/resources/OSGI-INF/blueprint/c
> > amel-cxf.xml URL:
> > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/r
> > esources/OSGI-INF/blueprint/camel-cxf.xml?rev=1097936&view=auto
> > ========================================================================
> > ====== ---
> > camel/trunk/components/camel-cxf/src/main/resources/OSGI-INF/blueprint/c
> > amel-cxf.xml (added) +++
> > camel/trunk/components/camel-cxf/src/main/resources/OSGI-INF/blueprint/c
> > amel-cxf.xml Fri Apr 29 20:12:54 2011 @@ -0,0 +1,29 @@
> > +<!--
> > +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:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0" +
> >           xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> > http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> +
> > +  <service interface="org.apache.aries.blueprint.NamespaceHandler">
> > +    <service-properties>
> > +      <entry key="osgi.service.blueprint.namespace"
> > value="http://camel.apache.org/schema/blueprint/cxf"/> +  
> >  </service-properties>
> > +    <bean
> > class="org.apache.camel.component.cxf.blueprint.CxfNamespaceHandler"/> +
> >  </service>
> > +</blueprint>
> > \ No newline at end of file
> > 
> > Added:
> > camel/trunk/components/camel-cxf/src/main/resources/schema/blueprint/cam
> > el-cxf.xsd URL:
> > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/r
> > esources/schema/blueprint/camel-cxf.xsd?rev=1097936&view=auto
> > ========================================================================
> > ====== ---
> > camel/trunk/components/camel-cxf/src/main/resources/schema/blueprint/cam
> > el-cxf.xsd (added) +++
> > camel/trunk/components/camel-cxf/src/main/resources/schema/blueprint/cam
> > el-cxf.xsd Fri Apr 29 20:12:54 2011 @@ -0,0 +1,170 @@
> > +<?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.
> > +-->
> > +<xsd:schema xmlns="http://camel.apache.org/schema/blueprint/cxf"
> > +            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > +            xmlns:beans="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> > +            xmlns:cxf-beans="http://cxf.apache.org/configuration/beans"
> > +            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > +          
> >  targetNamespace="http://camel.apache.org/schema/blueprint/cxf" +      
> >      elementFormDefault="qualified"
> > +            attributeFormDefault="unqualified"
> > +          
> >  xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> > http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> +
> > +  <xsd:import namespace="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> > schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> > "/> +  <xsd:import namespace="http://cxf.apache.org/configuration/beans"
> > schemaLocation="http://cxf.apache.org/schemas/configuration/cxf-beans.xs
> > d"/> +
> > +  <xsd:element name="cxfEndpoint">
> > +    <xsd:complexType>
> > +      <xsd:complexContent>
> > +        <xsd:extension base="beans:Tcomponent">
> > +          <xsd:all>
> > +            <xsd:element name="binding" type="xsd:anyType"
> > minOccurs="0"/> +            <xsd:element name="dataBinding"
> > type="xsd:anyType" minOccurs="0"/> +            <xsd:element
> > name="features" type="xsd:anyType" minOccurs="0"/> +          
> >  <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/> +
> >            <xsd:element name="inFaultInterceptors" type="xsd:anyType"
> > minOccurs="0"/> +            <xsd:element name="outInterceptors"
> > type="xsd:anyType" minOccurs="0"/> +            <xsd:element
> > name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/> +        
> >    <xsd:element name="handlers" type="xsd:anyType" minOccurs="0"/> +    
> >        <xsd:element name="properties" type="beans:Tmap" minOccurs="0"/>
> > +            <xsd:element name="schemaLocations" type="schemasType"
> > minOccurs="0"/> +            <xsd:element name="serviceBean"
> > type="xsd:anyType" minOccurs="0"/> +            <xsd:element
> > name="serviceFactory" type="xsd:anyType" minOccurs="0"/> +        
> >  </xsd:all>
> > +          <!-- xsd:attributeGroup ref="cxf-beans:beanAttributes"/-->
> > +          <xsd:attribute name="address" type="xsd:string"/>
> > +          <xsd:attribute name="bindingId" type="xsd:string"/>
> > +          <xsd:attribute name="bus" type="xsd:string"/>
> > +          <xsd:attribute name="serviceClass" type="xsd:string"/>
> > +          <xsd:attribute name="transportId" type="xsd:string"/>
> > +          <xsd:attribute name="wsdlURL" type="xsd:string"/>
> > +          <xsd:attribute name="endpointName" type="xsd:QName"/>
> > +          <xsd:attribute name="serviceName" type="xsd:QName"/>
> > +        </xsd:extension>
> > +      </xsd:complexContent>
> > +    </xsd:complexType>
> > +  </xsd:element>
> > +
> > +  <xsd:element name="rsServer">
> > +    <xsd:complexType>
> > +      <xsd:complexContent>
> > +        <xsd:extension base="beans:Tcomponent">
> > +          <xsd:all>
> > +            <xsd:element name="executor" type="xsd:anyType"
> > minOccurs="0"/> +            <xsd:element name="features"
> > type="xsd:anyType" minOccurs="0"/> +            <xsd:element
> > name="binding" type="xsd:anyType" minOccurs="0"/> +          
> >  <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/> +
> >            <xsd:element name="inFaultInterceptors" type="xsd:anyType"
> > minOccurs="0"/> +            <xsd:element name="invoker"
> > type="xsd:anyType" minOccurs="0"/> +            <xsd:element
> > name="outInterceptors" type="xsd:anyType" minOccurs="0"/> +          
> >  <xsd:element name="outFaultInterceptors" type="xsd:anyType"
> > minOccurs="0"/> +            <xsd:element name="properties"
> > type="beans:Tmap" minOccurs="0"/> +            <xsd:element
> > name="serviceBeans" type="xsd:anyType" minOccurs="0"/> +          
> >  <xsd:element name="modelBeans" type="xsd:anyType" minOccurs="0"/> +    
> >        <xsd:element name="model" type="model" minOccurs="0"/> +        
> >    <xsd:element name="providers" type="xsd:anyType" minOccurs="0"/> +  
> >          <xsd:element name="extensionMappings" type="xsd:anyType"
> > minOccurs="0"/> +            <xsd:element name="languageMappings"
> > type="xsd:anyType" minOccurs="0"/> +            <xsd:element
> > name="schemaLocations" type="schemasType" minOccurs="0"/> +        
> >  </xsd:all>
> > +          <!-- xsd:attributeGroup ref="cxf-beans:beanAttributes"/-->
> > +          <xsd:attribute name="address" type="xsd:string"/>
> > +          <xsd:attribute name="bus" type="xsd:string"/>
> > +          <xsd:attribute name="serviceClass" type="xsd:string"/>
> > +          <xsd:attribute name="transportId" type="xsd:string"/>
> > +          <xsd:attribute name="modelRef" type="xsd:string"/>
> > +          <xsd:attribute name="bindingId" type="xsd:string"/>
> > +          <xsd:attribute name="staticSubresourceResolution"
> > type="xsd:boolean"/> +        </xsd:extension>
> > +      </xsd:complexContent>
> > +    </xsd:complexType>
> > +  </xsd:element>
> > +
> > +  <xsd:element name="rsClient">
> > +    <xsd:complexType>
> > +      <xsd:complexContent>
> > +        <xsd:extension base="beans:Tcomponent">
> > +          <xsd:all>
> > +            <xsd:element name="executor" type="xsd:anyType"
> > minOccurs="0"/> +            <xsd:element name="features"
> > type="xsd:anyType" minOccurs="0"/> +            <xsd:element
> > name="binding" type="xsd:anyType" minOccurs="0"/> +          
> >  <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/> +
> >            <xsd:element name="inFaultInterceptors" type="xsd:anyType"
> > minOccurs="0"/> +            <xsd:element name="outInterceptors"
> > type="xsd:anyType" minOccurs="0"/> +            <xsd:element
> > name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/> +        
> >    <xsd:element name="properties" type="beans:Tmap" minOccurs="0"/> +  
> >          <xsd:element name="providers" type="xsd:anyType"
> > minOccurs="0"/> +            <xsd:element name="modelBeans"
> > type="xsd:anyType" minOccurs="0"/> +            <xsd:element
> > name="model" type="model" minOccurs="0"/> +            <xsd:element
> > name="headers" type="xsd:anyType" minOccurs="0"/> +          
> >  <xsd:element name="schemaLocations" type="schemasType" minOccurs="0"/>
> > +          </xsd:all>
> > +          <!-- xsd:attributeGroup ref="cxf-beans:beanAttributes"/-->
> > +          <xsd:attribute name="address" type="xsd:string"/>
> > +          <xsd:attribute name="serviceClass" type="xsd:string"/>
> > +          <xsd:attribute name="inheritHeaders" type="xsd:boolean"/>
> > +          <xsd:attribute name="bus" type="xsd:string"/>
> > +          <xsd:attribute name="transportId" type="xsd:string"/>
> > +          <xsd:attribute name="bindingId" type="xsd:string"/>
> > +          <xsd:attribute name="modelRef" type="xsd:string"/>
> > +          <xsd:attribute name="username" type="xsd:string"/>
> > +          <xsd:attribute name="password" type="xsd:string"/>
> > +        </xsd:extension>
> > +      </xsd:complexContent>
> > +    </xsd:complexType>
> > +  </xsd:element>
> > +
> > +  <xsd:complexType name="schemasType">
> > +    <xsd:sequence>
> > +      <xsd:element name="schemaLocation" type="xsd:string" minOccurs="0"
> > maxOccurs="unbounded"/> +    </xsd:sequence>
> > +  </xsd:complexType>
> > +
> > +  <xsd:complexType name="model">
> > +    <xsd:sequence>
> > +      <xsd:element name="resource" minOccurs="0" maxOccurs="unbounded">
> > +        <xsd:complexType>
> > +          <xsd:sequence>
> > +            <xsd:element name="operation" minOccurs="0"
> > maxOccurs="unbounded"> +              <xsd:complexType>
> > +                <xsd:sequence>
> > +                  <xsd:element name="param" minOccurs="0"
> > maxOccurs="unbounded"> +                    <xsd:complexType>
> > +                      <xsd:attribute name="name" type="xsd:string"/>
> > +                      <xsd:attribute name="type" type="xsd:string"/>
> > +                    </xsd:complexType>
> > +                  </xsd:element>
> > +                </xsd:sequence>
> > +                <xsd:attribute name="name" type="xsd:string"/>
> > +                <xsd:attribute name="path" type="xsd:string"/>
> > +                <xsd:attribute name="verb" type="xsd:string"/>
> > +                <xsd:attribute name="consumes" type="xsd:string"/>
> > +                <xsd:attribute name="produces" type="xsd:string"/>
> > +              </xsd:complexType>
> > +            </xsd:element>
> > +          </xsd:sequence>
> > +          <xsd:attribute name="name" type="xsd:string"/>
> > +          <xsd:attribute name="path" type="xsd:string"/>
> > +        </xsd:complexType>
> > +      </xsd:element>
> > +    </xsd:sequence>
> > +    <xsd:attribute name="id" type="xsd:string"/>
> > +  </xsd:complexType>
> > +</xsd:schema>
> > \ No newline at end of file

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com

Mime
View raw message