Apparently not understanding the rules of JAX-WS, I constructed a web service with the following shape: all the annotations were on the interface, none were on the implementation. I thought that this code would cause the JAX-WS runtime to pull annotations off of the interface and invoke the implementation.
Configuration configuration = new Configuration(); JaxWsServerFactoryBean serverFactory = createServerFactory(NameIndexService.class, createDatabinding(configuration)); serverFactory.setAddress("local://NameIndexService"); Server server = serverFactory.create(); Service service = server.getEndpoint().getService(); service.setInvoker(new BeanInvoker(new NameIndexServiceImpl("rni/test/com/basistech/rnm/index/ws/EmptyConfigura tion.xml"))); For my next trick, I wired this up in a web container in spring. I did add an endpointInterface annotation. I got errors indicating that I should never have tried marking up the SEI in the first place. So, how should I have used the API to get yelled at? [jetty] 2007-10-05 09:33:16.765::WARN: Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'index_service_endpoint': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: Attributes portName, serviceName and endpointInterface are not allowed in the @WebService annotation of an SEI.: [jetty] javax.xml.ws.WebServiceException: Attributes portName, serviceName and endpointInterface are not allowed in the @WebService annotation of an SEI