2010-07-22 2 views
0

J'ai une classe java que j'ai besoin d'annoter pour un service web. Tout est mis en place et compile etc, le fichier WSDL est généré en utilisant le plugin Maven pour wsprovide ... le problème que j'ai est que la classe fait référence à une interface ...comment utiliser jaxws pour une classe référençant une interface

@WebService(name = "myWebService", targetNamespace = "......") 
@SOAPBinding(style = SOAPBinding.Style.RPC) 

public class MyClassImpl implements MyClass { 
protected TheService m_theService; 
/** 
* @return the theService 
*/ 
public TheService getTheService() { 
    return m_theService; 
} 

theservice est une interface, et je obtenir une erreur JAXB ... TheService est une interface, et JAXB ne peut pas gérer les interfaces. La méthode getTheService n'a pas besoin d'être exposée dans le service Web, mais je ne vois pas comment la contourner. Quelqu'un peut-il expliquer ce qu'il faut faire dans cette situation?

Répondre

0

Vous pouvez annoter toute méthode qui ne nécessite pas d'être exposé avec:

@WebMethod(exclude = true) 

De cette façon wsgen sera ignorez la méthode lors de la génération des artefacts JAX-WS.

Questions connexes