Hi,

The following config works well in a non-OSGI server 

<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:camel="http://camel.apache.org/schema/spring";
        xmlns:cxf="http://camel.apache.org/schema/cxfEndpoint";
        xsi:schemaLocation=" http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                http://camel.apache.org/schema/osgi
                http://camel.apache.org/schema/osgi/camel-osgi-2.0-SNAPSHOT.xsd
                http://camel.apache.org/schema/spring
                http://camel.apache.org/schema/spring/camel-spring.xsd
                http://camel.apache.org/schema/cxfEndpoint
                http://camel.apache.org/schema/cxf/camel-cxf-2.0-SNAPSHOT.xsd";>
                
        <!-- not required for camel-cxf cxfEndpoint camel-cxf-2.0-SNAPSHOT.xsd
    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
         -->
         
        <bean id="bindyDataformat"
                  
class="org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat">
             <constructor-arg type="java.lang.String"
value="org.apache.camel.example.reportincident.model" />
        </bean>
        
        <bean id="csv" 
class="org.apache.camel.example.reportincident.csv.CsvBean"
/>
        
        <bean id="reportIncidentEndpoint"
class="org.apache.camel.example.reportincident.service.ReportIncidentEndpointService"/>
                     
    <!-- webservice endpoint -->             
    <cxf:cxfEndpoint id="reportIncident"
                     address="http://localhost:8080/camel-example/incident";
                     wsdlURL="wsdl/report_incident.wsdl"
                     serviceClass="#reportIncidentEndpoint"
                     endpointName="s:ReportIncidentPort"
                     serviceName="s:ReportIncidentService" 
                    
xmlns:s="http://reportincident.example.camel.apache.org";
     />
        
        <camelContext xmlns="http://camel.apache.org/schema/osgi";>
        
<camel:package>org.apache.camel.example.reportincident.routing</camel:package>
                <camel:route>
                        <camel:from
uri="file://d:/temp/data/?moveExpression=d:/temp/done/${file:name}" />
                        <camel:unmarshal ref="bindyDataformat" />
                        <camel:to uri="bean:csv" />
                </camel:route>
                
                <camel:route>
                        <camel:from     uri="cxf:bean:reportIncident" />
                        <camel:convertBodyTo
type="org.apache.camel.example.reportincident.domain.InputReportIncident" />
                        <camel:to uri="log:cxf" />
                </camel:route>
                
        </camelContext>
</beans>

but when deployed in SMX4 the following error is returned :

13:48:42,084 | ERROR | xtenderThread-13 | WaiterApplicationContextExecutor |
WaiterApplicationContextExecutor  398 | Unable to create application context
for [reportincident.interfaces], unsatisfied dependencies: none
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line
61 in XML document from URL
[bundle://85.0:0/META-INF/spring/camel-context.xml] is invalid; nested
exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The
matching wildcard is strict, but no declaration can be found for element
'cxf:cxfEndpoint'.
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:404)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
        at
org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:176)
        at
org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:142)
        at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
        at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
        at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$800(AbstractDelegatedExecutionApplicationContext.java:68)
        at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$3.run(AbstractDelegatedExecutionApplicationContext.java:259)
        at
org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
        at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:237)
        at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:215)
        at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:168)
        at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:179)
        at
org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:759)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The
matching wildcard is strict, but no declaration can be found for element
'cxf:cxfEndpoint'.
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:231)
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:167)

Is because the osgi server does not have access to the following schema ?

http://camel.apache.org/schema/cxfEndpoint
                http://camel.apache.org/schema/cxf/camel-cxf-2.0-SNAPSHOT.xsd

Regards,

Charles


-----
Charles Moulliard
SOA Architect

My Blog :  http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/  
-- 
View this message in context: 
http://www.nabble.com/camel---cxf-endpoint-%3A-tp22329458p22329458.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to