0
votes

Wildfly: service Web déployé mais indisponible

Problème Description:

Je veux déployer un service Web via Wildfly et il est déployé, mais je ne peux pas y accéder via un navigateur Web.

C'est ce que je fais:

  1. i Exécutez standalone.sh
  2. Je déploie le projet à l'aide de MVN Clean Package Wildfly: Déployer

    Puis j'essaie d'accéder à mon service Web via un navigateur Web à http: // localhost: 8080 / lab-aura / hello? wsdl mais je ne reçois que: "404 - pas Trouvé "

    fragment de Maven Logs tout en déployant. de
    Voici Logs de Wildfly Server lors de son initialisation. de
    Et ici Wildfly journal pendant le déploiement.

    Autres détails:

    J'ai déjà fait un autre projet où le service Web a fonctionné, mais il y avait d'autres problèmes, j'ai donc tout commencé à partir de zéro.

    Cette image est la comparaison des structures de ces deux projets. Sur la gauche, l'ancien projet et sur la droite du nouveau projet.

    L'important est que dans le nouveau projet, je ne reçois pas le répertoire Web . < / strong>

    Peut-être problème connexe: de
    Wildfly: application déployée mais pas en cours d'exécution

    Aussi, est-il nécessaire d'utiliser Intellij Idea dans de tels projets?

    Modifier

    dans mon module EJB, j'ai une classe Bonjour dans le paquet pl.edu.agh.soa

    J'ai essayé de passer de ceci: xxx

    à: xxx

    mais Cela ne fonctionne pas non plus.


2 commentaires

Il n'est pas clair si c'est un problème avec votre code parce que nous ne voyons aucun. Où est votre code JAX-WS pour le service?


@stDunbar j'ai ajouté ce code maintenant.


3 Réponses :


0
votes

Idée Intellij n'est pas nécessaire du tout.

Je pense que votre problème est le répertoire Web manquant. Sans Web-Inf / web.xml Le serveur d'applications ne saura pas ce qu'il est censé servir.


2 commentaires

Les projets Web modernes ne nécessitent pas de web.xml plus. Il peut tous être tiré en annotations.


@stDunbar Je pensais que cela pourrait être un problème d'annotations, mais je ne suis pas sûr.



0
votes

J'ai pu obtenir un simple type de type Jax-WS de type "helloworld" en cours d'exécution avec seulement le code: xxx

à partir de ceci, je suis capable d'accéder à l'URL http: // localhost: 8080 / / helloworld? WSDL . Ceci est dans Wildfly 18.

Le problème est que vous ne spécifiez pas un @webMethod . Tandis que la classe est marquée correctement, il n'y a rien à "gérer" dedans.

En outre, alors qu'il fonctionne avec l'annotation EJB EJB qui n'est pas requise pour JAX-WS mais peut être requis pour votre code.


4 commentaires

Mais j'ai déjà une annotation @webMéthod dans mon code. Par exemple avant la méthode ListSubjects ().


@ Wojciechłupina - Cela ne ressort pas de ce que vous avez affiché jusqu'à présent. Cependant, en revenant sur votre message, je vois que vous déployez sur Lab-web.war . Avez-vous essayé d'aller à http: // localhost: 8080 / Lab-web / hello? Wsdl ?


En fait, j'ai essayé de déployer sur Lab-ear.ear en exécutant MVN Clean Package Wildfly: Déployer et après avoir été allumé à http: // localhost: 8080 / Lab -aear / bonjour? WSDL i Obtenir le 404 - non trouvé erreur. Mais quand j'ai essayé maintenant de déployer sur lab-web.war et aller à http: // localhost: 8080 / Lab-war / bonjour? WSDL , je reçois un < code> non trouvé erreur (sans 404 ).


Je suis sûr que dans mon projet, le fichier d'oreille devrait être déployé, pas la guerre.



0
votes

problème résolu. Je pense que j'avais inutilement changé de trop de dépendances 'versions dans pom.xml .

Aussi, dans le principal pom.xml uniquement Niveau de mise à niveau de 1.0.2.final à 2.0.2.final , mais plus tôt, j'avais également modifié d'autres versions des plugins.


0 commentaires