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'?