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