Wildfly: веб-сервис развернут, но недоступен - PullRequest
0 голосов
/ 28 мая 2020

Описание проблемы:

Я хочу развернуть веб-службу через Wildfly, и она развернута, но я не могу получить к ней доступ через веб-браузер.

Вот что я делаю:

  1. Я запускаю standalone.sh
  2. Я развертываю проект, используя mvn clean package wildfly:deploy

Затем я пытаюсь получить доступ к своему веб-сервису через веб-браузер по адресу http://localhost:8080/lab-ear/Hello?wsdl но я получаю только: «404 - Not Found»

Фрагмент журналов maven при развертывании.
Вот логи с сервера Wildfly при его инициализации.
И здесь Wildfly регистрирует во время развертывания.

Прочие сведения:

Я сделал еще один проект, в котором работала веб-служба, но были другие проблемы, поэтому Я начал все с нуля.

Это изображение представляет собой сравнение структур этих двух проектов. Слева старый проект, а справа новый проект.

Важно то, что в новом проекте я не получаю каталог web.

Возможно, проблема связана:
Wildfly: приложение развернуто, но не запущено

Кроме того, требуется ли использовать Intellij IDEA в таких проектах?

ИЗМЕНИТЬ

В моем модуле EJB у меня есть класс Hello в пакете pl.edu.agh.soa

Я попытался изменить это:

@Stateless
@WebService
public class Hello {
...

на:

@Stateless(name = "Hello")
@WebService(name = "HelloService")
public class Hello {
...

Но это тоже не работает.

Ответы [ 3 ]

0 голосов
/ 29 мая 2020

Мне удалось получить простую службу JAX-WS типа «HelloWorld», работающую только с кодом:

import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
@Stateless
public class HelloWorld {

    @WebMethod
    public String sayHello( String name ) {
        return "Hello " + name;
    }
}

Отсюда я могу получить доступ к URL http://localhost:8080/<web-app-name>/HelloWorld?wsdl. Это в Wildfly 18.

Проблема в том, что вы не указываете @WebMethod. Хотя класс отмечен правильно, в нем нечего "запускать".

Кроме того, хотя он работает с аннотацией @Stateless EJB, которая не требуется для JAX-WS, но может потребоваться для вашего кода.

0 голосов
/ 10 июля 2020

Проблема решена. Я думаю, что я без необходимости изменил слишком много версий зависимостей в файлах pom.xml.

Кроме того, только в основном файле pom.xml требовалось обновление <version.wildfly.maven.plugin> с 1.0.2.Final до 2.0.2.Final, но раньше у меня было также изменил версии других плагинов.

0 голосов
/ 28 мая 2020

Intellij IDEA не требуется.

Я думаю, ваша проблема заключается в отсутствии веб-каталога. Без WEB-INF / web. xml сервер приложения не будет знать, что он должен обслуживать.

...