You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Benson Margulies <bi...@basistech.com> on 2007/10/05 15:39:02 UTC

Either the API is too tolerant or something else is confused with JAX-WS

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