Out of curiosity, if I wanted the primary source of annotations to be the interface, then the cure would be to put endpointInterface on the interface?
> -----Original Message----- > From: Dan Diephouse [mailto:[EMAIL PROTECTED] > Sent: Friday, July 13, 2007 5:46 PM > To: [email protected] > Subject: Re: WSDL service-name > > If you take away the serviceFactory.setServiceclass() line I think it'll > fix > your problem. Effectively you're telling CXF not to look at the > @WebService > annotation on the NameIndexServiceImpl, which I don't think is what you > want > to do :-). CXF will automatically introspect the service bean and find the > endpoint interface via the @WebService.endpointInterface annotation, so > that > line is completely not needed. > > Cheers, > - Dan > > On 7/13/07, Benson Margulies <[EMAIL PROTECTED]> wrote: > > > > This annotation is on the implementation class (named > > NameIndexServiceImpl) > > > > @WebService(serviceName = "NameIndex", endpointInterface = > > "com.basistech.rnm.index.ws.NameIndexService", > > targetNamespace="urn:com.basistech.rnm.index.ws") > > > > This annotation is on the interface (named NameIndexService) > > > > @WebService(name="NameIndex", > > targetNamespace="urn:com.basistech.rnm.index.ws") > > > > The startup looks like this: > > > > serviceFactory.setAddress("http://localhost:" + port + > > "/NameIndex"); > > serviceFactory.setServiceBean(new > > NameIndexServiceImpl(configPath)); > > serviceFactory.setServiceClass(NameIndexService.class); > > > > And the wsdl comes out like this: ... > > > > <wsdl:definitions name="NameIndexServiceService" > > targetNamespace="urn:com.basistech.rnm.index.ws"> > > > > How do I get rid of the extra 'service'? > > > > > > > -- > Dan Diephouse > Envoi Solutions > http://envoisolutions.com | http://netzooid.com/blog
