Not the FAQ, but right on the actual CXF component page. I updated it a few days ago with this info.
Glen 2008-05-22 Claus Ibsen wrote: > Hi > > Maybe a issue to be added to the Camel FAQ? > > Med venlig hilsen > > Claus Ibsen > ...................................... > Silverbullet > Skovsgårdsvænget 21 > 8362 Hørning > Tlf. +45 2962 7576 > Web: www.silverbullet.dk > > -----Original Message----- > From: Willem Jiang [mailto:[EMAIL PROTECTED] > Sent: 18. maj 2008 17:52 > To: [email protected] > Subject: Re: Problem having Camel CXF component detect wsdl:service > > Hi Glen, > > The service name and port name should be a QName which includes the name > space. > eg. > > serviceName={http://www.example.org/DoubleIt}DoubleItService > > > Willem > > Glen Mazza wrote: > Hello, > > I'm trying to use Camel's CXF component and I cannot get it the wsdl:service > "DoubleItService" from my WSDL. Here is the error stack I am getting: > > [INFO] [exec:java] > [mpany.camel.CamelSample.main()] BusApplicationContext INFO > Refreshing [EMAIL PROTECTED]: display > name [EMAIL PROTECTED]; startup date > [Sun May 18 01:19:47 EDT 2008]; root of context hierarchy > [mpany.camel.CamelSample.main()] BusApplicationContext INFO Bean > factory for application context > [EMAIL PROTECTED]: > [EMAIL PROTECTED] > 2008/05/18 1:19:50 > org.apache.cxf.service.factory.ReflectionServiceFactoryBean > buildServiceFromWSDL > INFO: Creating Service DoubleItService from WSDL: > http://localhost:8080/doubleit/services/doubleit?wsdl > org.apache.cxf.service.factory.ServiceConstructionException: Could not find > definition for service DoubleItService. > at > org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:114) > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:270) > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:360) > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:156) > at > org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:74) > at > org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51) > at > org.apache.camel.component.cxf.CxfProducer.createClientFormClientFactoryBean(CxfProducer.java:165) > at > org.apache.camel.component.cxf.CxfProducer.<init>(CxfProducer.java:66) > ..... > > Here is my construction of CXF_URI: > > public class CamelSample { > private static final String JAXWS_SERVER_ADDRESS = > "http://localhost:8080/doubleit/services/doubleit"; > private static final String CXF_URI = "cxf://" + JAXWS_SERVER_ADDRESS > + "?wsdlURL=http://localhost:8080/doubleit/services/doubleit?wsdl" > + "&portName=DoubleItPort&serviceName=DoubleItService"; > > The URI: http://localhost:8080/doubleit/services/doubleit?wsdl is indeed > accessible from my machine and it looks identical to here: > http://www.jroller.com/gmazza/date/20080417#WFstep5 > > My route is as follows: > > context.addRoutes(new RouteBuilder() { > public void configure() { > > from("test-jms:queue:test.queue").process(new Processor() { > public void process(Exchange e) { > System.out.println("This was called - Body: " + > e.getIn().getBody(String.class)); > > e.getIn().setHeader(CxfConstants.OPERATION_NAME,"DoubleIt"); > final List<String> params = new ArrayList<String>(); > params.add(e.getIn().getBody(String.class)); > e.getOut().setBody(params); > } > }).to(CXF_URI).to("file://testfile").process(new Processor() { > public void process(Exchange e) { > System.out.println("In process"); // + > e.getIn().getBody(String.class)); > List<String> abc = e.getIn().getBody(ArrayList.class); > System.out.println("This was called - in File list: " + > abc.get(0)); > } > }); > } > > Can anyone see why Camel can't detect the wsdl:service DoubleItService? > > Thanks, > Glen > > >
