Java: utiliser le point de terminaison pour publier le service Web sur le serveur Tomcat
je suis entrain de créer un simple service web SOAP.
je suis pour s'assurer qu'il fonctionne sur un tomcat web service.
im essayant de mettre en œuvre des ce avec JAX-WS (voir le code)
ma question est: est-ce le point de Terminaison.publier utiliser le serveur tomcat pour accueillir ce ou est-ce un mini glassfish genre de serveur?
devrais-je être l'extension de UnicastRemoveObject ou quelque chose de similaire à la place?
idéalement, il serait en mesure d'être emballés dans une .La GUERRE et a chuté dans le répertoire de travail juste et.
Il ne semble pas fonctionner avec mon serveur tomcat que c'est parce qu'il dit que le port est déjà utilisé. Je suis sous Ubuntu karmic avec le tomcat6 paquet installé, il pourrait aussi être mon utilisateur n'a pas les autorisations pour publier à l'exécution de tomcat sur 8080
j'espère que cette question est assez claire
exemple de code:
@WebService
public class UserAttributes {
public static void main(String[] args) {
UserAttributes instance = new UserAttributes();
Endpoint.publish("http://localhost:8082/WebServices/userattributes",
instance);
}
public string Hello() {
return "Hello World";
}
}
source d'informationauteur Will
Vous devez vous connecter pour publier un commentaire.
JAX-WS RI
Endpoint.publish
API utilise par défaut un peu de poids Serveur HTTP de la mise en œuvre qui est inclus dans Sun Java SE 6. Donc non, il ne pas utiliser un GlassFish embarqué ni un Tomcat intégré et encore moins de votre installation Tomcat: il utilise un intégré conteneur, c'est à dire quelque chose de courant dans la même JVM. Juste pour info, il est toutefois possible de brancher d'autres implémentations ils fournissent un Fournisseur de Services de mise en Œuvre (SPI). Par exemple, la Jetée 6, voir J2se6HttpServerSPI. Mais je ne vais pas couvrir tous les détails ici 🙂Comme je l'ai dit ci-dessus, le
Enpoint.publish
API ne pas utiliser votre installation Tomcat. Il utilise son propre serveur et vous permet de déployer votre service web sans avoir à les empaqueter et déployer votre application. Il est particulièrement utile lors du développement (comme il accélère les choses). En fait, c'est très pratique.Maintenant, si vous avez un serveur Tomcat s'exécute sur le port 8082 et si vous essayez de publier votre
Endpoint
en utilisant le même port, les choses ne marchent pas comme vous l'avez remarqué. Utiliser un autre (ou non) de port au cours du développement.Et si vous souhaitez déployer vos services web à votre installation Tomcat, alors vous aurez à les emballer dans une guerre et le déploiement de cette guerre sur Tomcat. Mais ce qui est totalement différent et n'a rien à faire avec l'aide de la
Endpoint.publish
API.Très intéressant. Il me semble que le serveur intégré contient également un savon moteur pour traiter le savon messages envoyés à ce port. Est-ce aussi un intégré à savon moteur ou est-ce à l'aide de l'un des populaires savon moteurs (axis2,cxf,métro)