jax-ws concernant endpointinterface
ont défini une Interface Java avec l'annotation @WebService
Compilé le code qui va bien
Exemple:
@WebService
public interface HelloWorldIfc{
Maintenant, j'ai essayé de définir une endpointinterface comme
@WebService (endpointInterface = "com.ws.HelloWorldIfc")
public interface HelloWorldIfc{
Ce compilé trop belle
Soi - dois-je définir le point de terminaison de l'interface sur l'interface ou sur la mise en œuvre de la classe ?
est-ce l'attribut de toute utilisation - quel est son but ?
qu'advient-il si je n'ai pas de définir elle - que dois-je perdre ?
Merci,
satish
OriginalL'auteur satish marathe | 2013-01-14
Vous devez vous connecter pour publier un commentaire.
JAX-WS Spécification rend cette cleas dans la section 3.3, page 30:
Vous pouvez utiliser le
endpointInterface
attribut de séparation entre la mise en œuvre de la classe et de l'interface. Fondamentalement, ce qui détermine ce qui sera associée à votrewsdl:portType
lorsque vous déployez le service et lawsdl:definition
est généré.Si vous ne pas définir la
endpointInterface
toutes les méthodes publiques de la classe annotée sera mappé àwsdl:operation
(tant que vous n'avez pas d'influence sur ce comportement avec@WebMethod
annotations).Si vous ne définir la
endpointInterface
, elle a pour point d'un certain type qui la annoté classe implémente (ou bien, comme démontré dans votre question). Ensuite, les méthodes publiques de ce type sont utilisées pour la cartographie de lawsdl:portType
, au lieu de les méthodes annotées de la classe.Pour résumer: La définition de
endpointInterface
n'a de sens que si vous utilisez le@WebService
sur la mise en œuvre de la classe et souhaitez que votre WSDL pour être généré sur la base de l'interface elle met en œuvre. Dans votre configuration actuelle où vous utilisez l'annotation sur l'interfacecom.ws.HelloWorldIfc
, il n'y a vraiment aucune différence. Ainsi, vous ne perdez rien juste sauter. L'annotation est utile si vous voulez que votre classe d'implémentation de fournir des méthodes publiques qui ne doivent pas aller dans le WSDL généré.OriginalL'auteur joergl
Pour définir la endpointInterface est utile parce qu' @WebParam annotations de l'interface, les méthodes de travail sont sans les définir à nouveau dans la classe d'implémentation.
OriginalL'auteur Alexander