[CXF] client web services sous tomcat
Bonjour,
J'ai crée un service web sous CXF et tomcat.
Tout c'est bien passé, j'arrive sans problème a l'attaquer avec soapUi.
Après cela j'ai créé mes stub à l'aide ddu plugin wsdl2java
Puis j'ai essayé d'attaquer le ws via test unitaire.
là aussi aucun problème:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(IService.class);
factory.setAddress("http://localhost:7777/monService/services/test");
IServiceclient = (IService) factory.create();
try {
client.methode();
}
catch (Exception_Exception e) {
e.printStackTrace();
fail();
} |
Enfin j'ai tenter d'inclure ce bout de code dans ma page wicket (qui tourne sous tomcat aussi)
et là c'est le drame :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Caused by: java.lang.IllegalArgumentException: Class [org.apache.cxf.ws.policy.spring.PolicyNamespaceHandler] does not implement the NamespaceHandler interface
at org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.initHandlerMappings(DefaultNamespaceHandlerResolver.java:119)
at org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.<init>(DefaultNamespaceHandlerResolver.java:96)
at org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.<init>(DefaultNamespaceHandlerResolver.java:71)
at org.apache.cxf.bus.spring.BusApplicationContext.initBeanDefinitionReader(BusApplicationContext.java:194)
at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:228)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:101)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:394)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:324)
at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:86)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:87)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:65)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:54)
at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:69)
at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:106)
at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:97)
at org.apache.cxf.endpoint.AbstractEndpointFactory.getBus(AbstractEndpointFactory.java:73)
at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.initializeServiceFactory(AbstractWSDLBasedEndpointFactory.java:148)
at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:78)
at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51)
at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:97)
at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:89) |
Il n'arrive pas à créer le bus.
Je ne sais pas d'où ca peux venir, s'il faut que je rajoute qqchose (dans le web.xml par exemple) ou autres.
Qq'un aurait une piste ?
merci