Ah, You already found the answer :)
Can you try the last Camel-2.0 snapshot, there are some changes on the
CXF bus. Please let me know if anything is broken there.

Willem

S. Ali Tokmen wrote:
> Hello
> 
> I think I've found the real cause of this problem:
> 
>   1. At line 81, the WSDL Service Factory does a:
>      definition =
>      getBus().getExtension(WSDLManager.class).getDefinition(url);
>   2. The "bus" we have there is the one defined in our beans.xml file,
>      therefore a CXFBusImpl
>   3. The "extensions" field of that bus only has one
>      BusApplicationContext and no WSDLManager
>   4. Therefore, the getExtension returns null
> 
> To fix it, I think we need to spring-import the CXF extensions.
> http://www.nabble.com/Need-clarification-on-cxf-servlet.xml-config-file.-td19598828.html
> tells me there's a cxf-all.xml import that improts everything.
> 
> I'll keep you updated
> 
> S. Ali Tokmen
> savas-ali.tok...@bull.net
> 
> Office: +33 4 76 29 76 19
> GSM:    +33 66 43 00 555
> 
> Bull, Architect of an Open World TM
> http://www.bull.com
> 
> 
> 
> S. Ali Tokmen a écrit :
>> Hello
>>
>> I also have this impression :) I've tried with a simpler, CXF-only
>> example, and it still does the exact same exception!
>>
>> The only thing I do it to add the following in the beans.xml file:
>>
>>    <!-- !!! Enabling this results in a NPE !!! -->
>>    <cxf:bus>
>>      <cxf:outInterceptors>
>>        <ref bean="LoggingOutInterceptor"/>
>>      </cxf:outInterceptors>
>>    </cxf:bus -->
>>
>> I'm pretty sure I'm forgetting something, just cannot see what.
>>
>> All source codes are available on the following SVNs:
>>
>>   
>> svn://svn.forge.objectweb.org/svnroot/jonas/sandbox/wss-propagation-parent
>>
>>    revision 16259 for the CXF-only version
>>    svn://svn.forge.objectweb.org/svnroot/jonas/sandbox/camel-jonas4
>>    revision 16258 for CXF + CAMEL
>>
>> Versions used are CAMEL 1.5.0 and CXF 2.1.3.
>>
>> Cheers
>>
>> S. Ali Tokmen
>> savas-ali.tok...@bull.net
>>
>> Office: +33 4 76 29 76 19
>> GSM:    +33 66 43 00 555
>>
>> Bull, Architect of an Open World TM
>> http://www.bull.com
>>
>>
>>
>> Willem Jiang a écrit :
>>> Hi,
>>>
>>> Can you send me your test case, and which version of camel are you
>>> using?
>>> It's looks like a cxfEndpoint configuration issue.
>>>
>>> Willem
>>> S. Ali Tokmen wrote:
>>>  
>>>>  Hello again
>>>>
>>>> I now have a very annoying exception:
>>>>
>>>>    java.lang.NullPointerException
>>>>           at
>>>>  
>>>> org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:81)
>>>>
>>>>           at
>>>>  
>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:311)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:408)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:189)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:100)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.component.cxf.CxfProducer.createClientFromClientFactoryBean(CxfProducer.java:161)
>>>>
>>>>
>>>>           at
>>>>   
>>>> org.apache.camel.component.cxf.CxfProducer.<init>(CxfProducer.java:68)
>>>>           at
>>>>  
>>>> org.apache.camel.component.cxf.CxfEndpoint.createProducer(CxfEndpoint.java:74)
>>>>
>>>>
>>>>           at
>>>>   
>>>> org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:84)
>>>>           at
>>>>    org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>>>>           at
>>>>   
>>>> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:64)
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.processor.MulticastProcessor.doStart(MulticastProcessor.java:249)
>>>>
>>>>
>>>>           at
>>>>    org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>>>>           at
>>>>   
>>>> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:64)
>>>>
>>>>           at
>>>>    org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:45)
>>>>           at
>>>>   
>>>> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:64)
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.processor.MulticastProcessor.doStart(MulticastProcessor.java:249)
>>>>
>>>>
>>>>           at
>>>>    org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>>>>           at
>>>>   
>>>> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:42)
>>>>           at
>>>>   
>>>> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:53)
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.processor.DelegateProcessor.doStart(DelegateProcessor.java:68)
>>>>
>>>>
>>>>           at
>>>>    org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>>>>           at
>>>>   
>>>> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:42)
>>>>           at
>>>>   
>>>> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:53)
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:54)
>>>>
>>>>
>>>>           at
>>>>    org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>>>>           at
>>>>   
>>>> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:42)
>>>>           at
>>>>   
>>>> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:53)
>>>>
>>>>           at
>>>>   
>>>> org.apache.camel.impl.DefaultConsumer.doStart(DefaultConsumer.java:85)
>>>>           at
>>>>    org.apache.camel.component.jms.JmsConsumer.doStart(JmsConsumer.java)
>>>>           at
>>>>    org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>>>>           at
>>>>  
>>>> org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:421)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:659)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:632)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.spring.SpringCamelContext.maybeDoStart(SpringCamelContext.java:167)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:162)
>>>>
>>>>
>>>>           at
>>>>    org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>>>>           at
>>>>  
>>>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:97)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:116)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:275)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:737)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:384)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
>>>>
>>>>
>>>>           at
>>>>  
>>>> org.apache.camel.spring.Main.createDefaultApplicationContext(Main.java:189)
>>>>
>>>>           at org.apache.camel.spring.Main.doStart(Main.java:152)
>>>>           at
>>>>    org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>>>>           at
>>>>  
>>>> org.ow2.jonas.camel.server.CamelWrapper$CamelThread.run(CamelWrapper.java:156)
>>>>
>>>>
>>>>           ... 1 more
>>>>
>>>> Anyone has any idea? I'll start debugging CXF shortly, now waiting for
>>>> package downloads.
>>>>
>>>> Thanks
>>>>
>>>> S. Ali Tokmen
>>>> savas-ali.tok...@bull.net
>>>>
>>>> Office: +33 4 76 29 76 19
>>>> GSM:    +33 66 43 00 555
>>>>
>>>> Bull, Architect of an Open World TM
>>>> http://www.bull.com
>>>>
>>>>
>>>>
>>>> Willem Jiang a écrit :
>>>>   
>>>>> Please try the last verion of Camel 1.5.1-snapshot or Camel
>>>>> 2.0-snapshot.
>>>>> I just fixed some bus related issue in camel-cxf component.
>>>>>
>>>>> Willem
>>>>>
>>>>> S. Ali Tokmen wrote:
>>>>>  
>>>>>     
>>>>>> Hello, Willem
>>>>>>
>>>>>> The cxf:bus approach would be exactly what I need, but when I
>>>>>> enable it
>>>>>> I have the impression Camel-CXF ignores all of it. Did you try out
>>>>>> anything similar?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> S. Ali Tokmen
>>>>>> savas-ali.tok...@bull.net
>>>>>>
>>>>>> Office: +33 4 76 29 76 19
>>>>>> GSM:    +33 66 43 00 555
>>>>>>
>>>>>> Bull, Architect of an Open World TM
>>>>>> http://www.bull.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> Willem Jiang a écrit :
>>>>>>          
>>>>>>> Hi
>>>>>>>
>>>>>>> You can set the interceptors into cxf bus[1], then all the CXF
>>>>>>> endpoints
>>>>>>> create by CAMEL will use them.
>>>>>>> [1]http://cwiki.apache.org/CXF20DOC/bus-configuration.html
>>>>>>>
>>>>>>> Willem
>>>>>>>
>>>>>>> S. Ali Tokmen wrote:
>>>>>>>  
>>>>>>>              
>>>>>>>> Hello, Pawel
>>>>>>>>
>>>>>>>> Thank you for this quick response. I now have another issue: I
>>>>>>>> would
>>>>>>>> actually be interested in defining these properties globally,
>>>>>>>> i.e. for
>>>>>>>> all CXF endpoints created by CAMEL. This way, people programming
>>>>>>>> the
>>>>>>>> routes would only use CXF URLs and not create the CXF beans by
>>>>>>>> hand.
>>>>>>>>
>>>>>>>> Thank you
>>>>>>>>
>>>>>>>> S. Ali Tokmen
>>>>>>>> savas-ali.tok...@bull.net
>>>>>>>>
>>>>>>>> Office: +33 4 76 29 76 19
>>>>>>>> GSM:    +33 66 43 00 555
>>>>>>>>
>>>>>>>> Bull, Architect of an Open World TM
>>>>>>>> http://www.bull.com
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Pawel Jasinski a écrit :
>>>>>>>>                     
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> here is a snipped from the camel-context where wss4j is defined as
>>>>>>>>> interceptor:
>>>>>>>>>
>>>>>>>>>   <cxf:cxfEndpoint id="consumerEndpoint"
>>>>>>>>>     address="http://localhost:9001/SoapContext/SoapPort/consumer";
>>>>>>>>>     wsdlURL="wsdl/consumer/consumer.wsdl"
>>>>>>>>>     serviceClass="org.example.consumer.Consumer"
>>>>>>>>>     endpointName="s:consumerSOAP"
>>>>>>>>>     serviceName="s:consumer"
>>>>>>>>>     xmlns:s="http://www.example.org/consumer/";>
>>>>>>>>>
>>>>>>>>>     <cxf:inInterceptors>
>>>>>>>>>     <!-- request consumer => esb -->
>>>>>>>>>       <bean
>>>>>>>>> class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>>>>>>>>>         <constructor-arg>
>>>>>>>>>           <map>
>>>>>>>>>             <entry key="action" value="SAMLTokenUnsigned Timestamp
>>>>>>>>> Signature Encrypt" />
>>>>>>>>>
>>>>>>>>>             <!-- signature -->
>>>>>>>>>             <entry key="user" value="" />
>>>>>>>>>
>>>>>>>>>             <!-- alias from the keystore to decrypt message -->
>>>>>>>>>             <entry key="signaturePropFile"
>>>>>>>>> value="META-INF/identity.properties" />
>>>>>>>>>
>>>>>>>>>             <!-- encryption -->
>>>>>>>>>             <entry key="decryptionPropFile"
>>>>>>>>> value="META-INF/wss-bus.properties" />
>>>>>>>>>             <entry key="passwordCallbackClass"
>>>>>>>>> value="org.example.common.PasswordHandler" />
>>>>>>>>>           </map>
>>>>>>>>>         </constructor-arg>
>>>>>>>>>       </bean>
>>>>>>>>>       <bean class="org.example.common.SAMLInterceptor">
>>>>>>>>>       </bean>
>>>>>>>>>     </cxf:inInterceptors>
>>>>>>>>>     <cxf:outInterceptors>
>>>>>>>>>      ....
>>>>>>>>>
>>>>>>>>>     </cxf:outInterceptors>
>>>>>>>>> </cxf:cxfEndpoint>
>>>>>>>>>
>>>>>>>>> I hope this helps.
>>>>>>>>> -- Pawel
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Jan 19, 2009 at 4:12 PM, S. Ali Tokmen
>>>>>>>>> <savas-ali.tok...@bull.net> wrote:
>>>>>>>>>  
>>>>>>>>>                           
>>>>>>>>>> Hello
>>>>>>>>>>
>>>>>>>>>> In CXF, one can define a serioes of interceptors, inbound and
>>>>>>>>>> outbound, for
>>>>>>>>>> doing many actions. Our implementation defines some Processor
>>>>>>>>>> interceptors
>>>>>>>>>> for handling security-related tasks (namely, serializing and
>>>>>>>>>> deserializing
>>>>>>>>>> Security Contexts).
>>>>>>>>>>
>>>>>>>>>> In CXF-Spring, this is done using the jaxws:inInterceptors tag in
>>>>>>>>>> the
>>>>>>>>>> jaxws:endpoint definition.
>>>>>>>>>>
>>>>>>>>>> Now, I would like to integrate this mechanism into CAMEL...
>>>>>>>>>> And the
>>>>>>>>>> question
>>>>>>>>>> is: how can we define CXF interceptors in CAMEL? Programmatic
>>>>>>>>>> definition
>>>>>>>>>> works perfectly for me -if CAMEL for example defines a default
>>>>>>>>>> CXF
>>>>>>>>>> bus for
>>>>>>>>>> itself, getting a reference to it and adding my interceptors
>>>>>>>>>> for all
>>>>>>>>>> camel-cxf endpoints would be great.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>> -- 
>>>>>>>>>>
>>>>>>>>>> S. Ali Tokmen
>>>>>>>>>> savas-ali.tok...@bull.net
>>>>>>>>>>
>>>>>>>>>> Office: +33 4 76 29 76 19
>>>>>>>>>> GSM:    +33 66 43 00 555
>>>>>>>>>>
>>>>>>>>>> Bull, Architect of an Open World TM
>>>>>>>>>> http://www.bull.com                 
>>>
>>>
>>>
>>>
>>>   
>>
> 
> 

Reply via email to