Hi, I'm new to CXF. I've been able to make work a webservice over jms by following this example :
http://cwiki.apache.org/CXF20DOC/jax-ws-java-first-with-jms-transport.html and using Tibco BusinessWorks as client for soap over jms. In the server code part their is Object implementor = new Hello(); JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean(); svrFactory.setServiceClass(IHello.class); svrFactory.setAddress("jms://"); svrFactory.setServiceBean(implementor); svrFactory.getInInterceptors().add(new LoggingInInterceptor()); svrFactory.getOutInterceptors().add(new LoggingInInterceptor()); svrFactory.create(); where you specify One interface of one class. My problem is that the Spring Bean I intend to expose through webservice implements multiple interfaces and I need to expose the methods of two of them. What is the best way to have both interface exposed via webservice ? If I use 2 JaxWsServerFactoryBean, I guess I would have to generate two wsdl for the same service : JaxWsServerFactoryBean workflowServiceServerFactory = new JaxWsServerFactoryBean(); workflowServiceServerFactory.setServiceClass (WorkflowService.class); workflowServiceServerFactory.setAddress ("jms://"); workflowServiceServerFactory.setServiceBean (this.workflowService);//spring bean IOC workflowServiceServerFactory.getInInterceptors ().add(new LoggingInInterceptor ()); workflowServiceServerFactory.getOutInterceptors().add(new LoggingOutInterceptor()); workflowServiceServerFactory.create(); JaxWsServerFactoryBean organisationServiceServerFactory = new JaxWsServerFactoryBean(); organisationServiceServerFactory.setServiceClass (OrganisationService.class); organisationServiceServerFactory.setAddress ("jms://"); organisationServiceServerFactory.setServiceBean (this.workflowService);//spring bean IOC organisationServiceServerFactory.getInInterceptors ().add(new LoggingInInterceptor ()); organisationServiceServerFactory.getOutInterceptors().add(new LoggingOutInterceptor()); organisationServiceServerFactory.create(); I'm currently building the wsld with this maven build : <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-java2ws-plugin</artifactId> <version>${cxf.version}</version> <dependencies> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> </dependency> </dependencies> <configuration> <className>fr.rs2i.swFramework.services.workflow.api.WorkflowService</className> <outputFile>${project.build.directory}/generated/wsdl/WorkflowService.wsdl</outputFile> <genWsdl>true</genWsdl> <verbose>true</verbose> </configuration> <executions> <execution> <id>process-classes</id> <phase>process-classes</phase> <goals> <goal>java2ws</goal> </goals> </execution> </executions> </plugin> </plugins> Would it be possible to merge two WSDL inside one file ? Thanks for your help, Thomas.
