2012-10-12 5 views
0

J'utilise Axis2 (1.5.3 actuellement) et Tomcat (6.0.26 actuellement) et j'exécute un service web. Je souhaite également héberger des pages HTML pour la configuration du service Web.Meilleure façon de déployer un site Web à côté d'un service Web axis2 via Tomcat?

Quelle est la meilleure façon de procéder? Je suppose que garder le même contexte est la clé, mais ce n'est peut-être pas le cas.

Ma distribution actuelle se trouve dans une structure de dossiers semblable à ceci: Tomcat/webapps/mycompany Avec le code de service réel ici: Tomcat/webapps/mycompany/WEB-INF/services/myService

En un navigateur, je peux frapper mon service Web en allant ici: /mycompany/services/myService

Je note que je peux déposer des fichiers HTML réels dans ce chemin et Tomcat, en effet les servir. Par exemple, si je mets "index.html" sous Tomcat/webapps/mycompany, je peux naviguer vers /mycompany/index.html et voir mon code html. Ce que je veux faire, c'est que ce HTML soit attaché aux fichiers JAR/classe qui peuvent interagir avec les fichiers de classe de service déjà existants dans le même contexte que le service. Par conséquent, je peux avoir le navigateur configurer le service Web directement.

Est-ce possible, et y a-t-il un tutoriel ou quelque chose qui va m'aider avec ça? Notez que j'ai travaillé avec Tomcat et Axis2 pendant un certain temps maintenant pour ce service web particulier, mais je n'ai jamais réellement déployé une application web/html utilisant Tomcat auparavant.

Merci.

+0

Une alternative que je considère est d'avoir le HTML simplement faire toute l'interaction avec le service Web directement en utilisant AJAX. Ces méthodes de service web devraient être localhost seulement, si c'est même possible (j'imagine que c'est?). - Existe-t-il un framework AJAX freeware/open source avec un support SOAP complet? – Anthony

+0

Avez-vous vu qu'Axis2 est déjà livré avec un navigateur de service intégré et un outil administrateur? –

+0

Si vous persistez toujours à créer votre propre, j'utiliserais: http://archive.plugins.jquery.com/project/jqSOAPClient mais cela ne fonctionnera que si le serveur et le client respectent la même règle d'origine. –

Répondre

0

Tout d'abord qu'est-ce que vous entendez par une configuration d'un service. Normalement, dans les services SOA, les services sont analogues aux interfaces. À mon humble avis, vous pouvez simplement modifier un service, car ils sont d'autres utilisateurs qui s'appuient sur les services que vous exposer.

Si je veux changer un service je préférerais introduire une nouvelle version du service après avoir déprécié le service existant.

Parlez-vous de l'application de la QoS aux services existants? Alors cela a du sens.

Quoi qu'il en soit, si vous voulez avoir une application web avec le moteur de service axis2, c'est possible. Si vous regardez à l'intérieur du fichier de guerre axis2, vous trouverez l'entrée web.xml dans Axis2Servlet. C'est cette servlet qui sert les demandes de services Web. Donc, ce dont vous avez besoin est le mappage Axis2Servlet dans votre application Web avec vos mappages de servlet habituels. Nombre de façons possibles de configurer vos services à l'aide de fichiers d'application Web. Une des options est d'utiliser les web-services s'appellent (avec authentification) pour le configurer.

+0

Par "configurer un service", voir mon prochain message. – Anthony

0

par "configurer un service", prenez cet exemple:

Le service dispose d'un ensemble de jeux de données.
Chaque jeu de données existe dans une base de données distincte. Le service peut gérer les jeux de données 0..n. Le service doit être configuré pour connaître chaque jeu de données.

C'est ce que je suis en train de configurer. Je n'essaie pas de configurer Axis ou de redéfinir le service.

Je souhaite héberger le code HTML en utilisant la même instance de Tomcat avec laquelle j'héberge le service Web. Il a besoin de gérer des sessions, d'avoir des capacités de connexion, un whatnot, et doit être capable de configurer le service web en direct. D'après ce que je suis en train de lire, il est probablement préférable d'établir une interface avec le service Web auquel le module d'application Web peut accéder à partir d'un contexte différent.

Y a-t-il un meilleur moyen?

Questions connexes