users@glassfish.java.net

WebService duplicates service method if implements a template interface, bug?

From: Xavier Callejas <xavier_at_wflogistics.com>
Date: Fri, 19 Feb 2010 18:07:59 -0600

Hi,

I need to expose some EJB session beans as JAX-WS web services.

The stateless session bean 'ClientsFacadeBean' implement the following
interfaces structure:

/*
* EntityFacadeInterface.java
*/

public interface EntityFacadeInterface<E, K> {
        
        E find(K id);

}
//


/*
* ClientsFacadeInterface.java
* note that this interface do not expose methos
*/
@Remote
public interface ClientsFacadeInterface extends EntityFacadeInterface<Clients,
Integer> {

}


/*
* ClientsFacadeBean.java
* note that this interface do not expose methos
*/
@Stateless
@WebService
public ClientsFacadeBean implements ClientsFacadeInterface {

        ...

        public Clients find(Integer id) {
                return em.find(Clients.class, id);
        }

}


It deploys without problems, but when I try to use the web service JAXB (in
Glassfish) complains that the 'find' method is duplicated.

Glassfish stacktrace:

...
INFO: parsing WSDL...

INFO: [ERROR] duplicate "message" entity: "find"
INFO: line 17 of http://localhost:8080/MyBeanService/MyBean?WSDL
INFO: Invoking wsimport with http://localhost:8080/MyBeanService/MyBean?WSDL
INFO: wsimport successful
...

Please help.

Thanks and regards.
xavier.